Error al hacer conexión por ODBC con una BD de VFP 7.0

04/02/2006 - 00:15 por Daniel H. Villa | Informe spam
Hola Grupo:

Estoy haciendo la conexión con una DB hecha en Visual FoxPro 7.0. Ya cree el
ODBC, pero me manda este error en mi código.

ERROR [1M002] [Microsoft] [Administrador de controladores ODBC] No se
encuentra el nombre del origen de datos y no se
especificó ningún controlador predeterminado
ERROR [01S00] [Microsoft] [Administrador de controladores ODBC] Atributo de
cadena de conexión no válido


Este es el codigo que estoy utilizando:

Imports System.Data.Odbc
Public Class Form2
Inherits System.Windows.Forms.Form
Protected Const conexion As String = "Provider=MSDASQL.1;Persist
Security Info=False;Data Source½_ConcordNet;Extended
Properties='DSN½_ConcordNet;UID=;SourceDB=C:\Documents and
Settings\DVilla\Mis
documentos\concord_net\concord_net27012006\concord_net\dat_concord_net.dbc;SourceTypeÛC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;'"
Dim DataViewFactProd As DataView

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
ArmaConexion()
End Sub

Sub ArmaConexion()
Try
Dim conn As New OdbcConnection(conexion)
Dim sql As String = "Select C_ClvProd, E_Cantidad From Inte0075
Where I_Factura = 208196917"
Dim dsCategorias As New DataSet
Dim AdapterCategorias As New OdbcDataAdapter(sql, conn)

' Aqui es en donde me manda el error
****************
conn.Open()
'********************
AdapterCategorias.Fill(dsCategorias, "Categorias")
With Me.ListBox1
.DataSource = dsCategorias.Tables("Categorias").DefaultView
.DisplayMember = "C_ClvProd"
.ValueMember = "I_Factura"
End With
conn.Close()
Catch err As OdbcException
MessageBox.Show(err.Message)
Catch err As Exception
MessageBox.Show(err.Message)
End Try
End Sub
End Class

Salu2 Cordiales
Daniel H. Villa
 

Leer las respuestas

#1 Jesús López
04/02/2006 - 10:01 | Informe spam
Esa que estás usando es una cadena de conexión OleDb que usa el proveedor
ODBC para OleDb. La cadena de conexión para usar directamente ODBC sería
simplemente:

Protected Const conexion As String = "DSN½_ConcordNet"

Así de fácil.

Saludos:

Jesús López
MVP


"Daniel H. Villa" escribió en el mensaje
news:
Hola Grupo:

Estoy haciendo la conexión con una DB hecha en Visual FoxPro 7.0. Ya cree
el ODBC, pero me manda este error en mi código.

ERROR [1M002] [Microsoft] [Administrador de controladores ODBC] No se
encuentra el nombre del origen de datos y no se
especificó ningún controlador predeterminado
ERROR [01S00] [Microsoft] [Administrador de controladores ODBC] Atributo
de cadena de conexión no válido


Este es el codigo que estoy utilizando:

Imports System.Data.Odbc
Public Class Form2
Inherits System.Windows.Forms.Form
Protected Const conexion As String = "Provider=MSDASQL.1;Persist
Security Info=False;Data Source½_ConcordNet;Extended
Properties='DSN½_ConcordNet;UID=;SourceDB=C:\Documents and
Settings\DVilla\Mis
documentos\concord_net\concord_net27012006\concord_net\dat_concord_net.dbc;SourceTypeÛC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;'"
Dim DataViewFactProd As DataView

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
ArmaConexion()
End Sub

Sub ArmaConexion()
Try
Dim conn As New OdbcConnection(conexion)
Dim sql As String = "Select C_ClvProd, E_Cantidad From Inte0075
Where I_Factura = 208196917"
Dim dsCategorias As New DataSet
Dim AdapterCategorias As New OdbcDataAdapter(sql, conn)

' Aqui es en donde me manda el error
****************
conn.Open()
'********************
AdapterCategorias.Fill(dsCategorias, "Categorias")
With Me.ListBox1
.DataSource = dsCategorias.Tables("Categorias").DefaultView
.DisplayMember = "C_ClvProd"
.ValueMember = "I_Factura"
End With
conn.Close()
Catch err As OdbcException
MessageBox.Show(err.Message)
Catch err As Exception
MessageBox.Show(err.Message)
End Try
End Sub
End Class

Salu2 Cordiales
Daniel H. Villa

Preguntas similares