Conexion a una base de datos DBase

20/05/2005 - 09:32 por pagonza | Informe spam
Hola a todos:

Tengo un problema con la conexion a una base de datos DBase. Resulta que
tego que hacer un pequeño modulo para una aplicacion antigua que esta hecha
en cliper. Ser funciona correctamente, salvo la impresion de documento debido
a las mejoras de las impresoras.

Las bases de datos estan en Dbase (el formato de los ficheros son DBF).
Estoy intentando hacer la conexion a trabes de ado.net. He cogido codigos de
internet para hacer la conexion, he mirado las ayudas, pero el error que me
da es que no tengo registrado el proveedor 'VFPOLEDB.1' no esta registrado en
el equipo local. Como lo registro??? Pensaba que se registraba en el odbc del
sistema, pero no o consigo. Me he bajado hasta los drivers de visual fox pro
para poder registrarlo en versiones dbase.

el codigo que pongo es el siguiente, lo pongo por si me estoy equivocando en
algo:


string error="-1";
try
{
OleDbConnection con=new OleDbConnection("Provider=VFPOLEDB.1 ;Data
Source=c:\\F_PRINCI1.dbf");
DataSet ds = new DataSet();
string sql = "select * from F_PRINCI1";
OleDbDataAdapter da = new OleDbDataAdapter(sql,con);
da.Fill(ds,"miTabla"); <-- Aqui falla al cargarlo en el dataset
con.Close();
con.Dispose();
Console.ReadLine();
}
catch (Exception ex)
{
error=ex.Message;
}
return error;

Muchas gracias por la ayuda.

Un saludo a todos.

Pablo
 

Leer las respuestas

#1 Braulio Diez
21/05/2005 - 16:58 | Informe spam
Hola que hay,

Mmm... Creo que puedes usar otra cadena de conexión que te funcionaría
mejor, aquí te paso un par de formas (con odbc y con oledb):

DBF / FoxPro ODBC

standard:

"Driver={Microsoft dBASE Driver (*.dbf)};DriverID'7;Dbq=c:\mydbpath;"

OLE DB, OleDbConnection (.NET)

standard:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended
Properties=dBASE IV;User ID=Admin;Password="

A mi me ha tocado más de una vez leer de un DBF, si esto no te funciona me
lo dices y busco como lo hize :-). Otra opción que tienes es crearte una base
de datos acces y linkarte (que no copiarte) las tablas a tu DBF, y ya acceder
a tu db access como si de un mdb normal y corriente se tratara.

Buena suerte
Braulio

"pagonza" escribió:

Hola a todos:

Tengo un problema con la conexion a una base de datos DBase. Resulta que
tego que hacer un pequeño modulo para una aplicacion antigua que esta hecha
en cliper. Ser funciona correctamente, salvo la impresion de documento debido
a las mejoras de las impresoras.

Las bases de datos estan en Dbase (el formato de los ficheros son DBF).
Estoy intentando hacer la conexion a trabes de ado.net. He cogido codigos de
internet para hacer la conexion, he mirado las ayudas, pero el error que me
da es que no tengo registrado el proveedor 'VFPOLEDB.1' no esta registrado en
el equipo local. Como lo registro??? Pensaba que se registraba en el odbc del
sistema, pero no o consigo. Me he bajado hasta los drivers de visual fox pro
para poder registrarlo en versiones dbase.

el codigo que pongo es el siguiente, lo pongo por si me estoy equivocando en
algo:


string error="-1";
try
{
OleDbConnection con=new OleDbConnection("Provider=VFPOLEDB.1 ;Data
Source=c:\\F_PRINCI1.dbf");
DataSet ds = new DataSet();
string sql = "select * from F_PRINCI1";
OleDbDataAdapter da = new OleDbDataAdapter(sql,con);
da.Fill(ds,"miTabla"); <-- Aqui falla al cargarlo en el dataset
con.Close();
con.Dispose();
Console.ReadLine();
}
catch (Exception ex)
{
error=ex.Message;
}
return error;

Muchas gracias por la ayuda.

Un saludo a todos.

Pablo

Preguntas similares