FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Instalar un programa que usa Access
Hola, tengo algunas dudas sobre programas de bases de datos que usan Access con Delphi. Yo programo pequeñas aplicaciones en Delphi 3 hasta ahora usando Paradox pero hace un año o así alguien me pidio un programita para manejar una bd Access 97. Yo no habia usado Access con Delphi y rebuscando encontre que se puede usar pero me volvi loco para realizar las conexiones, etc. Para empezar:
1. Uso el BDE (pues en Delphi 3 es lo unico que puedo hacer) 2. Uso driver nativo de Delphi MSACCESS. 3. Y descubri que con la DLL por defecto del BDE para MSACCESS la IDAO32.DLL no podia acceder a las bases de datos de access 97 pero por casualidad comprobe que con IDA3532.DLL si que podia. Hasta aqui lo que yo hago para trabajar. Ahora mis problemillas. Si quiero que una aplicacion mia que use access funcione un un pc distinto al mio tengo que: a) instalar el BDE b)copiar la dll IDA3532.dll que no viene por defecto c) ponerla como dll en la configuracion del driver usando BDEAdministrator o BDConfig. d) instalar MSJET4 y MDAC Si en el pc ya existe BDE no se si puedo reinstalarlo a mi manera para poder poner el driver IDA3532 sin que esto afecte al resto de la configuracion de ese BDE o si puedo cambiar ese driver desde codigo (primera duda para que me ayuden). Ademas me parece muy engorroso todo este proceso para una aplicacion a lo mejor sencillita, pero me gustaria saber usarlo correctamente ¿lo estoy haciendo bien o es mucho mas sencillo y me estoy complicando la vida? ¿Alguien usa bases de datos access97 a traves del BDE sin usar ADO ni nada como yo y me puede contar sus experiencias? Cualquier cosilla que me podais contar seguro que me viene bien...el saber no ocupa lugar (o por lo menos las neuronas no se han quejado todabia ;-) ) Gracias por molestarse en leer todo esto. :-) Saludos. |
#2
|
|||
|
|||
Cita:
Cita:
Cita:
|
#3
|
|||
|
|||
Tengo exactamente el mismo problema. No hay manera de hacer este cambio desde Delphi? Es decir una pequeña aplicación que se encargue de cambiar el driver.. Un saludo,
F.T.G. |
#4
|
||||
|
||||
Hola:
He estado un poco perdido por ahi...jeje Bueno bueno...gracias por contestar lo primero. Lo segundo, probando probando las cosas se van averiguando. Vamos por partes YO SI HE CONSEGUIDO CAMBIAR EL DRIVER POR CODIGO ... pero no me se el codigo de memoria...jaja ...ya lo traere..prometido. Otra cosa yo tengo un instalador del BDE que reinstala el BDE y conserva los alias...por lo menos cuando lo he probado. Uso el MSACCESS nativo de BDE y no necesito crear alias a mano. Me he bajado el MDAC_type.exe y el MSjet40.exe de microsoft y no me hace falta tener instalado el access ni 97 ni 2000 para que funcionen las aplicadios D3+BDE+Access (siento la euforia pero me costo mucho averiguar todo esto). Aunque he conseguido probar ADO con Access 2000 y Delphi 7 y pufffff...tendre q ahorrar...jeje. Aaaa (esto ya es regocijo lo siento) compilo toda la ruta de la bd access al arrancar la aplicacion asignando la ruta por parametros para asi poder mover la aplicacion de directorio y no de error. Buffff...que retaila de cosas...en fin eso es todo. SALUDOS. |
#5
|
|||
|
|||
Cita:
|
#6
|
|||
|
|||
Bueno sólo por si alguien más está interesado, aquí hay un link más que interesante para hacer lo que pedía:
http://info.borland.com/devsupport/b...ginfolist.html Un saludo, F.T.G. |
#7
|
||||
|
||||
Hola:
Lo prometido es deuda (Kafu) asique aqui tienes...espero te sirva de algo. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBTables, BDE; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Session1: TSession; Memo1: TMemo; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); function IsBDEExist : boolean; begin Result := (dbiInit(nil) = 0); end; begin if IsBDEExist then showmessage('SI, BDE esta instalado') // Existe else showmessage('NO, BDE no esta instalado. Instalalo.'); // No existe end; procedure TForm1.Button2Click(Sender: TObject); var DriverParams: TStringList; begin DriverParams := TStringList.Create; try { add the parameters that you want to change only. The default for this param is 31. } DriverParams.Add('DLL32=IDDA3532.DLL'); { call modify driver with name of driver and list of params } session1.ModifyDriver('MSACCESS',DriverParams); { call this if you want to save the changes in the BDE for all applications to use, will only take affect after all BDE applications have been unloaded on the system. } session1.SaveConfigFile; finally DriverParams.Free; end; end; procedure TForm1.Button3Click(Sender: TObject); begin close; end; end. Saludos. |
#8
|
|||
|
|||
Ah, mucho más sencillo de lo que tenía. Gracias y un saludo,
F.T.G. |
|
|
|