Bonjour,
Je reviens sur mon message précédent resté sans réponse.
Quand je crée un alias sur un fichier .txt avec l'administrateur ODBC, j'y ai accès sans problème avec les composant BD Delphi.
Par contre, je n'arrive pas à créer l'alias dynamiquement.
A l'exécution, de ma source (voir ci-après), je reçois le message suivant :
"Le projet xxx.exe a provoqué une classe d'exception EDBEngineError avec le message 'Pilote inconnu du système'."
Or, j'utilise bien le pilote que me renseigne "Session.GetAliasDriverName" pour un alias créé par l'administrateur ODBC sur une base de données .txt.
Comment paramétrer Addalias pour créer un Alias sur une base Microsoft text Driver via ODBC ?
Source :
AliasStr:= 'DaTxtAlias';
DataBaseName := GetCurrentDir+'\'+'Da.txt';
DbDriverStr:='Microsoft Text Driver (*.txt;*' // pilote renseigné par "Session.GetAliasDriverName"
if not Session.IsAlias(AliasStr) then
Begin
try
AliasList.Add('DATABASE NAME = ' +DataBaseName);
AliasList.Add('USER NAME =');
AliasList.Add ('ODBC DSN = ' + AliasStr);
AliasList.Add('OPEN MODE = READ/WRITE');
AliasList.Add('BATCH COUNT = 200');
AliasList.Add('LANGDRIVER=');
AliasList.Add('MAX ROWS = 1');
AliasList.Add('SCHEMA CACHE DIR =');
AliasList.Add('SCHEMA CACHE SIZE = 8');
AliasList.Add('SCHEMA CACHE TIME = -1');
AliasList.Add('SQLPASSTHRU MODE = SHARED AUTOCOMMIT');
AliasList.Add('SQLQRYMODE =');
AliasList.Add('ENABLE SCHEMA CACHE = FALSE');
AliasList.Add('ENABLE BCD = FALSE');
AliasList.Add('ROWSET SIZE = 20');
AliasList.Add('BLOBS TO CACHE = 64');
AliasList.Add('BLOB SIZE = 32');
Session.AddAlias(AliasStr, DbDriverStr, AliasList);
Session.SaveConfigFile;
finally
AliasList.Free
end;
Merci d'avance
Partager