2
« en: Viernes 3 de Octubre de 2008, 18:19 »
Hola..
Resulta que encontré un código en este foro en la sección v.6.0 para crear una conexión DNS por código, bueno, probé el código en v6.0 y funciona, pero al momento de implementarlo en v.net este se cae y no se cual es el error, me podrían ayudar, es urgente...
Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dl As Long ' Valor devuelto por la función API
Dim sAttributes As String ' Aributos
Dim sDriver As String ' Nombre del controlador
Dim sDescription As String ' 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& ' 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 & Nothing
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
End Sub