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

Preguntas similare

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

Respuesta Responder a este mensaje
#2 Edie
04/02/2006 - 21:07 | Informe spam
bueno espero que te sirva de ayuda esto:

1. Estas haciendo una conección ODBC con un ConnectionString para oleDB
"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_net27012006concord_net\dat_concord_net.dbc;SourceTypeÛC;
Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;'"



2. Por eso es que te manda el error al intentar abrir la conección.

3. Te recomiendo que visites esta dirección, en ella encontrarás en la parte
inferior los connectionStrings para
VisualFoxPro, OleDB y ODBC que necesitas:
http://www.connectionstrings.com/


el string de coneccion para ODBC es:
"Driver={Microsoft Visual FoxPro
Driver};SourceTypeÛF;SourceDB=c:\myvfpdbfolder;Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO"

pero mejor visita la página que te recomiendo para que estes seguro

Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida