Trabajar con archivos dbf

24/01/2008 - 19:49 por Hans Castorp | Informe spam
Hola a todos,



Tengo que hacer una mini-aplicación para leer tablas de datos en formato dbf
(dBase IV). Nunca había trabajado con este tipo de archivos, pero buscando
por ahí me he construído un código como éste:



OleDbConnection cnn = new OleDbConnection();

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\\dbf;Extended Properties=dBASE IV;User ID=;Password=";

DataSet ds = new DataSet();

string sql = "SELECT * FROM secciones;";

OleDbDataAdapter da = new OleDbDataAdapter(sql, cnn);

da.Fill(ds);



El caso es que al ejecutarlo me lanza el siguiente error:

El motor de base de datos Microsoft Jet no pudo encontrar el objeto
'secciones'. Asegúrese de que el objeto existe, y que ha escrito el nombre y
la ruta de acceso al objeto correctamente.

Por supuesto, el nombre del objeto está bien escrito y la ruta también. He
probado poníendolo de diversas maneras (con extensión, etc) pero no hay
manera.

¿Alguno de vosotros tiene experiencia con éste tipo de archivos y me puede
echar una mano?

Gracias por adelantado.



P.D. El archivo es generado por ArcGis, pero no debería de tener ninguna
particularidad. Con Excel y Access abre sin problema.

Un saludo.

Preguntas similare

Leer las respuestas

#1 Daniel R. Rossnagel
24/01/2008 - 23:47 | Informe spam
//C:\ALMAdemo\dato2 es la carpeta q contiene las tablas
// verificar que este instalado el OLEDB para Fox (
vfpoledb.exe )
string connectionString="Provider=VFPOLEDB.1;Data
Source=C:\ALMAdemo\dato2" ;
DataTable dt = new DataTable(tableName);
OleDbConnection _Connection = new
OleDbConnection(connectionString);
_Connection.Open();

OleDbCommand oleCommand = new OleDbCommand(_SqlCommandSelect,
_Connection);
System.Data.OleDb.OleDbDataAdapter adapter = new
OleDbDataAdapter(oleCommand);
adapter.Fill(dt);




"Hans Castorp" escribió en el mensaje de
noticias:OrZ#
Hola a todos,



Tengo que hacer una mini-aplicación para leer tablas de datos en formato
dbf (dBase IV). Nunca había trabajado con este tipo de archivos, pero
buscando por ahí me he construído un código como éste:



OleDbConnection cnn = new OleDbConnection();

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\\dbf;Extended Properties=dBASE IV;User ID=;Password=";

DataSet ds = new DataSet();

string sql = "SELECT * FROM secciones;";

OleDbDataAdapter da = new OleDbDataAdapter(sql, cnn);

da.Fill(ds);



El caso es que al ejecutarlo me lanza el siguiente error:

El motor de base de datos Microsoft Jet no pudo encontrar el objeto
'secciones'. Asegúrese de que el objeto existe, y que ha escrito el nombre
y la ruta de acceso al objeto correctamente.

Por supuesto, el nombre del objeto está bien escrito y la ruta también. He
probado poníendolo de diversas maneras (con extensión, etc) pero no hay
manera.

¿Alguno de vosotros tiene experiencia con éste tipo de archivos y me puede
echar una mano?

Gracias por adelantado.



P.D. El archivo es generado por ArcGis, pero no debería de tener ninguna
particularidad. Con Excel y Access abre sin problema.

Un saludo.




Respuesta Responder a este mensaje
#2 Hans Castorp
25/01/2008 - 10:36 | Informe spam
Gracias por la información pero sigue sin funcionar. Ahora lanza la
siguiente excepción:

The provider could not determine the Decimal value. For example, the row was
just created, the default for the Decimal column was not available, and the
consumer had not yet set a new Decimal value.

Sólo una cosa, como indicaba en mi anterior mensaje, no se trata de una
tabla de FoxPro "normal", no tengo el archivo .dbc, solamente tengo el .dbf.

Un saludo y gracias.



"Daniel R. Rossnagel" escribió en el mensaje
news:
//C:\ALMAdemo\dato2 es la carpeta q contiene las tablas
// verificar que este instalado el OLEDB para Fox (
vfpoledb.exe )
string connectionString="Provider=VFPOLEDB.1;Data
Source=C:\ALMAdemo\dato2" ;
DataTable dt = new DataTable(tableName);
OleDbConnection _Connection = new
OleDbConnection(connectionString);
_Connection.Open();

OleDbCommand oleCommand = new OleDbCommand(_SqlCommandSelect,
_Connection);
System.Data.OleDb.OleDbDataAdapter adapter = new
OleDbDataAdapter(oleCommand);
adapter.Fill(dt);




"Hans Castorp" escribió en el mensaje de
noticias:OrZ#
Hola a todos,



Tengo que hacer una mini-aplicación para leer tablas de datos en formato
dbf (dBase IV). Nunca había trabajado con este tipo de archivos, pero
buscando por ahí me he construído un código como éste:



OleDbConnection cnn = new OleDbConnection();

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\\dbf;Extended Properties=dBASE IV;User ID=;Password=";

DataSet ds = new DataSet();

string sql = "SELECT * FROM secciones;";

OleDbDataAdapter da = new OleDbDataAdapter(sql, cnn);

da.Fill(ds);



El caso es que al ejecutarlo me lanza el siguiente error:

El motor de base de datos Microsoft Jet no pudo encontrar el objeto
'secciones'. Asegúrese de que el objeto existe, y que ha escrito el
nombre y la ruta de acceso al objeto correctamente.

Por supuesto, el nombre del objeto está bien escrito y la ruta también.
He probado poníendolo de diversas maneras (con extensión, etc) pero no
hay manera.

¿Alguno de vosotros tiene experiencia con éste tipo de archivos y me
puede echar una mano?

Gracias por adelantado.



P.D. El archivo es generado por ArcGis, pero no debería de tener ninguna
particularidad. Con Excel y Access abre sin problema.

Un saludo.




Respuesta Responder a este mensaje
#3 David Fúnez
25/01/2008 - 18:06 | Informe spam
Mira si este artículo te sirve.

http://www.lespinter.com/PC/ShowArt...spx?ArtNum$6


David Fúnez
Corp. Mandofer/Asin
Tegucigalpa, Honduras


"Hans Castorp" escribió en el mensaje
news:
Gracias por la información pero sigue sin funcionar. Ahora lanza la
siguiente excepción:

The provider could not determine the Decimal value. For example, the row
was just created, the default for the Decimal column was not available,
and the consumer had not yet set a new Decimal value.

Sólo una cosa, como indicaba en mi anterior mensaje, no se trata de una
tabla de FoxPro "normal", no tengo el archivo .dbc, solamente tengo el
.dbf.

Un saludo y gracias.



"Daniel R. Rossnagel" escribió en el mensaje
news:
//C:\ALMAdemo\dato2 es la carpeta q contiene las tablas
// verificar que este instalado el OLEDB para Fox (
vfpoledb.exe )
string connectionString="Provider=VFPOLEDB.1;Data
Source=C:\ALMAdemo\dato2" ;
DataTable dt = new DataTable(tableName);
OleDbConnection _Connection = new
OleDbConnection(connectionString);
_Connection.Open();

OleDbCommand oleCommand = new OleDbCommand(_SqlCommandSelect,
_Connection);
System.Data.OleDb.OleDbDataAdapter adapter = new
OleDbDataAdapter(oleCommand);
adapter.Fill(dt);




"Hans Castorp" escribió en el mensaje de
noticias:OrZ#
Hola a todos,



Tengo que hacer una mini-aplicación para leer tablas de datos en formato
dbf (dBase IV). Nunca había trabajado con este tipo de archivos, pero
buscando por ahí me he construído un código como éste:



OleDbConnection cnn = new OleDbConnection();

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\\dbf;Extended Properties=dBASE IV;User ID=;Password=";

DataSet ds = new DataSet();

string sql = "SELECT * FROM secciones;";

OleDbDataAdapter da = new OleDbDataAdapter(sql, cnn);

da.Fill(ds);



El caso es que al ejecutarlo me lanza el siguiente error:

El motor de base de datos Microsoft Jet no pudo encontrar el objeto
'secciones'. Asegúrese de que el objeto existe, y que ha escrito el
nombre y la ruta de acceso al objeto correctamente.

Por supuesto, el nombre del objeto está bien escrito y la ruta también.
He probado poníendolo de diversas maneras (con extensión, etc) pero no
hay manera.

¿Alguno de vosotros tiene experiencia con éste tipo de archivos y me
puede echar una mano?

Gracias por adelantado.



P.D. El archivo es generado por ArcGis, pero no debería de tener ninguna
particularidad. Con Excel y Access abre sin problema.

Un saludo.










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