Acceso a dBase IV desde c#

09/01/2006 - 14:52 por Javi Garcia | Informe spam
Pues eso, que estamos realizando una aplicacion que suba a una base de datos
de internet el contenido de un archivo.dbf, y no se como acceder a la base
de datos para sacar las tuplas que contiene.

A lo cutre podria ser generar un vinculo en access y acceder a este, pero es
un poco chapuza pq al cambiar la ruta de los archivos habria q reacer el
vinculo. Si alguien sabe como se puede hacer.. Pos muchas gracias

Preguntas similare

Leer las respuestas

#1 manuel
09/01/2006 - 18:27 | Informe spam
"Javi Garcia" escribió en el mensaje
news:
Pues eso, que estamos realizando una aplicacion que suba a una base de


datos
de internet el contenido de un archivo.dbf, y no se como acceder a la base
de datos para sacar las tuplas que contiene.

A lo cutre podria ser generar un vinculo en access y acceder a este, pero


es
un poco chapuza pq al cambiar la ruta de los archivos habria q reacer el
vinculo. Si alguien sabe como se puede hacer.. Pos muchas gracias






mira antes de k t konektes... tienes k instalar en msacces la version mas
nueva y obdcnet los konsigues en la pagina de microsoft...

y este es un ejemplo...
using System;

using System.Data;

using System.Data.OleDb;

namespace itecConUpdate

{

/// <summary>

/// Descripción breve de Class1.

/// </summary>

class Class1

{

/// <summary>

/// Punto de entrada principal de la aplicación.

/// </summary>

[STAThread]

static void Main(string[] args)

{

OleDbConnection con=new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\\Itec2000\\Itedat;Extended Properties=dBASE IV;User
ID=;Password=");

try

{

con.Open();

MyConection = 1;

}

catch

{

MyConection = 0;

Console.WriteLine("El archivo no se encuentra en el directorio favor de
ponerse en contacto con su administrador..");

System.Threading.Thread.Sleep(10000);

return;

}

OleDbCommand cmd=con.CreateCommand();

cmd.CommandText="select * from itemuser";

OleDbDataReader Reader;

try

{

Reader=cmd.ExecuteReader();

}

catch

{

Console.WriteLine("El archivo esta siendo utilizado por otra aplicacion
favor de verificar...");

System.Threading.Thread.Sleep(10000);

return;

}

Console.WriteLine("actualizando datos a internet");

int TotalItems=0;

while (Reader.Read())

{

string username,Nombre,APaterno,AMaterno,query;


username = Reader.GetString(0).Trim();

Nombre= Reader.GetString(1).Trim();

APaterno= Reader.GetString(2).Trim();

AMaterno= Reader.GetString(3).Trim();

#region "update en la base de datos..."

aqui haces el update o el insert a la base de datos en internet...

#endregion

TotalItems++;

}

con.Close();

Console.WriteLine("Alumnos actualizados: " +TotalItems.ToString());

System.Threading.Thread.Sleep(10000);



espero y t sirva... hasta luego...
Respuesta Responder a este mensaje
#2 Octavio Hernandez
09/01/2006 - 22:48 | Informe spam
Javi,

Excelente el ejemplo que da Manuel, puedes hacerlo a través del proveedor
OleDb de Access. Básico lo de poner las propiedades extendidas.

Slds - Octavio

"Javi Garcia" escribió en el mensaje
news:
Pues eso, que estamos realizando una aplicacion que suba a una base de
datos de internet el contenido de un archivo.dbf, y no se como acceder a
la base de datos para sacar las tuplas que contiene.

A lo cutre podria ser generar un vinculo en access y acceder a este, pero
es un poco chapuza pq al cambiar la ruta de los archivos habria q reacer
el vinculo. Si alguien sabe como se puede hacer.. Pos muchas gracias

Respuesta Responder a este mensaje
#3 Javi Garcia
10/01/2006 - 08:07 | Informe spam
Jode que completo, muchas gracias por ahorrarme el maravilloso mundo de
investigar sin tener ni papa de algo. Ale, un abrazo y lo dicho, muchas
gracias
Respuesta Responder a este mensaje
#4 Javi Garcia
10/01/2006 - 08:47 | Informe spam
Hola otra vez, estoy haciendo pruebas con lo que me dijisteis ayer y para el
codigo
OleDbConnection con=new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\\Archivos de
programa\\Visual5\\DATA\\cOfertas.cdx;Extended Properties=dBASE
IV;UserID=;Password=");
try
{
con.Open();
OleDbDataAdapter adp = new System.Data.OleDb.OleDbDataAdapter("select * from
cofertas",con);
System.Data.DataTable dt = new DataTable();
adp.Fill(dt);
int i = dt.Rows.Count;
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}

y en el con.open() me salta el error No se pudo encontrar el archivo ISAM
instalable
He estado trasteando por internet y dice algo de que puede ser que me falte
en el archivo MSACC20.INI alguna ruta en la seccion [Installable ISAMs],
pero el archivo no existe.

Respecto a lo que me dijisteis de la instalacion instale el paquete
odbc_net.msi

Si sabeis por que puede ser, o que me puede faltar por instalar o lo que
sea. muchas gracias
Respuesta Responder a este mensaje
#5 manuel
10/01/2006 - 16:35 | Informe spam
hola k tal de nuevo...

mira al parecer en esta parte... la de komillas

OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource= "C:\\Archivos
de
programa\\Visual5\\DATA\\cOfertas.cdx" ;Extended Properties=dBASE
IV;UserID=;Password=");

lo k pasa es k no tienes k hacer la konexion a ningun archivo solo tienes k
darle la ruta de akceso o la karpeta donde se enkuentran los archivos... y
esta puede ser dinamika...

( C:\\Archivos de programa\\Visual5\\DATA\\ ) solo ponlo asi y mandas llamar
las tablas k kieras por querys... ok ... bueno chekalo... y si no pues vemos
k puede ser...

hasta luego... :D

"Javi Garcia" escribió en el mensaje
news:On%
Hola otra vez, estoy haciendo pruebas con lo que me dijisteis ayer y para


el
codigo
OleDbConnection con=new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\\Archivos


de
programa\\Visual5\\DATA\\cOfertas.cdx;Extended Properties=dBASE
IV;UserID=;Password=");
try
{
con.Open();
OleDbDataAdapter adp = new System.Data.OleDb.OleDbDataAdapter("select *


from
cofertas",con);
System.Data.DataTable dt = new DataTable();
adp.Fill(dt);
int i = dt.Rows.Count;
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}

y en el con.open() me salta el error No se pudo encontrar el archivo ISAM
instalable
He estado trasteando por internet y dice algo de que puede ser que me


falte
en el archivo MSACC20.INI alguna ruta en la seccion [Installable ISAMs],
pero el archivo no existe.

Respecto a lo que me dijisteis de la instalacion instale el paquete
odbc_net.msi

Si sabeis por que puede ser, o que me puede faltar por instalar o lo que
sea. muchas gracias


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida