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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 pagonza
23/05/2005 - 11:19 | Informe spam
Gracias Braulio por la ayuda:

Al final lo consegi haciendo una conexion ODBC, pero tras instalar unos
drivers del Visual Fox Pro, que tube que buscar por internet tras leer muchas
paginas de informacion.

De todas formas tendre en cuenta todo lo que me has mandado, por si de la
forma que he hecho la conexion me falla por otro sitio que no se aun.


Muchas gracias por todo.

Un saludo

Pablo

"Braulio Diez" wrote:

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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida