Hola amigos.
Me gustaría que alguién me pudiera echar una mano. Necesito saber como puedo crear a nivel de código una DSN que enlace con una base de datos Pervasive.
Hola amigos.
Me gustaría que alguién me pudiera echar una mano. Necesito saber como puedo crear a nivel de código una DSN que enlace con una base de datos Pervasive.
Para SQL Server.
Dim dl As
Long&nbs p;&nbs p;&nbs p;
' Valor devuelto por la función API
Dim sAttributes As
String&n bsp;
' Aributos
Dim sDriver As
String&n bsp;&n bsp;
' Nombre del controlador
Dim sDescription As
String&n bsp;
' Descripción del DSN
Dim sDsnName As String
' Nombre del DSN
Const ODBC_ADD_SYS_DSN As Long =
4 ' Se creará un DSN de sistema
Const vbAPINull As Long =
0&&nb sp;&nb sp;
' Puntero NULL
' Establecemos los atributos necesarios
sDsnName = "Ejemplo_DSN_Sistema"
sDescription = "Nuevo DSN de sistema para SQL Server"
sDriver = "SQL Server"
' Los pares de cadenas acabarán en valor Null
sAttributes = "DSN=" & sDsnName & Chr(0)
sAttributes = sAttributes & "Server=(Local)" & Chr$(0)
sAttributes = sAttributes & "Description=" & sDescription
& Chr(0)
sAttributes = sAttributes & "Database=pubs" & Chr(0)
' Si deseamos utilizar la autenticación de Windows NT, deberemos de
' especificarlo en la cadena de atributos
sAttributes = sAttributes & "Trusted_Connection=True" &
Chr(0)
' Creamos el nuevo origen de datos de usuario especificado.
' Si deseamos que aparezca el cuadro de diálogo, tendremos que
' especificar la propiedad «hWnd» del formulario donde se realiza
' la llamada a la función API.
dl = SQLConfigDataSource(vbAPINull, ODBC_ADD_SYS_DSN, sDriver, sAttributes)
If dl Then
MsgBox "Se ha creado el DSN de sistema."
Else
MsgBox "No se ha podido crear el DSN de sistema."
End If
"Uni2 por un Mundo Libre"
Muchas gracias , pero es que tengo ahora un problema lo he intentado con la configuración para pervasive y con la que tu me has indicado y en las dos me dice lo mismo:
"Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada."
No se por que me lo dice , si me puede hechar una ayuda te lo agradeceria.