Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Delphi 2009 - Acces - Problema con proveedor. (https://www.clubdelphi.com/foros/showthread.php?t=76915)

Fede14lp 04-12-2011 19:15:23

Delphi 2009 - Acces - Problema con proveedor.
 
Buen dia a todos.

Me estoy iniciando en el tema de la programacion, y me encontre con un problema que todavia no pude solucionar.
La cuestion es la siguente, estoy haciendo una aplicacion con Delphi 2009 y Access 2010. El problema es que cuando quiero conectar con la DB, creo el Link .udl, y cuando quiero seleccionar el proveedor Microsoft Jet 4.0 OLE DB Provider, no esta en la lista. Por lo tanto no puedo hacer la conexion.

Querria saber si existe alguna manera de agregar ese proveedor a la lista de proveedores, o si existe alguna otra forma de conectar a Access, pudiendo yo llevar mi aplicacion a cualquier pc sin necesidad de cambiar el ConnectionString.

Les agradezco de ante mano y un saludo para todos.

PD: Recuerden que soy principiante y quizas no entienda algunas cosas, sepan disculpar :P.

radenf 04-12-2011 22:57:16

Estimado Fede14lp :

La conexión debes hacerla con un TADOConnection y en su connection string debes activar use connection string, no actives use data link file, luego al apretar el botón build te debe mostrar los proveedores de OLE DB y entre ellos el Microsoft Jet 4.0 OLE DB Provider.
No sé si te creará problemas, pero yo nunca logré conectar las bases de datos de Access 2007. Tuve que convertirlas a formato de Access 2002-2003 y funcionaron sin problemas. Basta con guardarlas en ese formato desde Access.

Salu2

Fede14lp 10-12-2011 01:01:44

Hola radenf, gracias por tu respuesta.
El problema es que yo necesito hacer la conexion para luego despues poder usar el proyecto en cualquier pc sin necesidad de modificar el ConnectioString. Un amigo me dio la siguiente solucion:

En OnActivate del formulario principal:

Código Delphi [-]
Procedure TFPrincipal.FormActivate(Sender: TObject); 
Var   
  origen:string; 
  BD:string;   
  dirconeccion: string; 

begin 
  //averiguo la direccion donde esta la base y lo pongo en la conexion   
  origen:= ExtractFilePath(ParamStr(0)); 
  BD:= 'bd.mdb'; //nombre de la base de datos
  dirconeccion:= origen+ BD; 
  //asigno la direccion a la conexion
  Datos.conexion.ConnectionString := dirconeccion;
  //conecto con labase de datos 
  Datos.conexion.Connected :=TRUE;


Pero cuando realizo esto y compilo, me sale el siguiente error:


Project Agenda.exe raised exception class EOleException with message '[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado'.


Quisiera saber cual es el error que estoy cometiendo, desde ya les agradezco de antemano.

Un saludo!

Caral 10-12-2011 01:26:24

Hola
Como te han dicho: El Microsoft Jet 4.0 OLE DB Provider no es aceptado por access 2009, tienes que cambiar el formato a 2003 para usarlo.
Una vez hecho esto sera sencillo hacer lo que quieres.
Saludos

ecfisa 10-12-2011 01:29:05

Hola Fede14lp y bienvenido a Club Delphi :)

Como a todos los nuevos miembros te invito a que leas nuestra guía de estilo.

Veo que te has tomado mucho trabajo para presentar tu código con colores por lo que paso a comentarte como usar los TAG's (etiquetas), que dán mayór legibilidad resaltando palabras reservadas e identación y sobre todo, te hará muchísimo más sencilla la edición:



Un saludo.

Fede14lp 15-12-2011 20:34:14

Gracias por la recomendacion ecfisa, y gracias a todos por sus respuestas.
Caral, ahora estoy trabajando con access 2003, y tampoco me aparece ese proveedor, pero creo que el problema es que mi windows 7 es de 64 bits y el Delphi 2009 es para 32 bits (ya tuve otros problemas por el mismo tema, que pude solucionar).

De todos modos, gracias a todos por la ayuda, un saludo!


La franja horaria es GMT +2. Ahora son las 02:55:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi