Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/06/2010, 19:31
Avatar de dargor
dargor
 
Fecha de Ingreso: octubre-2009
Mensajes: 134
Antigüedad: 15 años, 1 mes
Puntos: 2
Crear DSN MySQL mediante codigo

Saludos a todos, expongo mi dificultad porque he pasado todo el dia buscando y todavía no encuentro solución a mi problema y es importante que lo resuelva.
Necesito crear DSN de sistema para MySQL mediante código para utilizar con reporteria, debe ser ODBC, no con el conector .net de mysql. he encontrado este codigo que es para SQL Server y trate de adaptarlo pero me tira el siguiente error:
"Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada." y no, mi ram no creo que este dañada, he leído que ese mensaje se ha presentado a otros que han intentado hacer lo mismo. este es el codigo:
Código vb:
Ver original
  1. Public Class Form1
  2.     Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" ( _
  3.     ByVal hwndParent As Long, ByVal fRequest As Long, _
  4.     ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
  5.  
  6.  
  7.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.         Dim dl As Long                                 ' Valor devuelto por la función API
  9.        Dim sAttributes As String                  ' Aributos
  10.        Dim sDriver As String                       ' Nombre del controlador
  11.        Dim sDescription As String                ' Descripción del DSN
  12.        Dim sDsnName As String                  ' Nombre del DSN
  13.  
  14.         Const ODBC_ADD_SYS_DSN As Long = 4         ' Se creará un DSN de sistema
  15.        Const vbAPINull As Long = 0&                         ' Puntero NULL
  16.  
  17.         ' Establecemos los atributos necesarios
  18.        sDsnName = "Ejemplo_DSN_Sistema"
  19.         sDescription = "Nuevo DSN de sistema para SQL Server"
  20.         sDriver = "MySQL ODBC 5.1 Driver"
  21.  
  22.         ' Los pares de cadenas acabarán en valor Null
  23.        sAttributes = "DSN=Ejemplo_DSN_Sistema;Description=Nuevo_DSN_de_sistema;Server=LOCALHOST;" & _
  24.                     "User id=USER;Password=PASS;database=DATABASE;"
  25.  
  26.         ' Si deseamos utilizar la autenticación de Windows NT, deberemos de
  27.        ' especificarlo en la cadena de atributos
  28.        'sAttributes = sAttributes & "Trusted_Connection=True" & Chr(0)
  29.  
  30.         ' Creamos el nuevo origen de datos de usuario especificado.
  31.        ' Si deseamos que aparezca el cuadro de diálogo, tendremos que
  32.        ' especificar la propiedad «hWnd» del formulario donde se realiza
  33.        ' la llamada a la función API.
  34.        dl = SQLConfigDataSource(vbAPINull, ODBC_ADD_SYS_DSN, sDriver, sAttributes)
  35.  
  36.         If dl Then
  37.             MsgBox("Se ha creado el DSN de sistema.")
  38.         Else
  39.             MsgBox("No se ha podido crear el DSN de sistema.")
  40.         End If
  41.     End Sub
  42. End Class

Utilizo Visual Studio 2008 Profesional y lenguaje visual basic, ojala me puedan ayudar, lo agradeceria mucho.