2010-05-24 4 views
2

J'essaye de me connecter à l'exécution avec SQL Server 2008 avec Delphi 2009 en utilisant DBExpress, ça ne marche pas. Lorsque je définis toutes les propriétés au moment du design, cela fonctionne très bien, mais à RunTime, je reçois "unknown driver: mssql". Voici le code:
DBExpress connectant SQL 2008 à l'exécution avec Delphi 2009


    scnConexao := TSQLConnection.Create(nil); 
    scnConexao.DriverName := 'MSSQL'; 
    scnConexao.ConnectionName := 'MSSQLConnection'; 
    scnConexao.GetDriverFunc := 'getSQLDriverMSSQL'; 
    scnConexao.LibraryName := 'dbxmss.dll'; 
    scnConexao.VendorLib := 'oledb'; 
    scnConexao.LoginPrompt := False; 
    scnConexao.Params.Add('SchemaOverride=sa.dbo'); 
    scnConexao.Params.Add('HostName=DESKTOP'); 
    scnConexao.Params.Add('DataBase=DBNAME'); 
    scnConexao.Params.Add('OS Authentication=False'); 
    scnConexao.Params.Add('User_Name=UserName'); 
    scnConexao.Params.Add('Password=Password'); 
    scnConexao.Params.Add('MSSQL TransIsolation=ReadCommited'); 
    scnConexao.Open; 

J'ai inclus le dbxmss.dll dans le même répertoire que mon application, mais en vain. Toute aide serait grandement appréciée.
TKS

+0

On dirait que personne ne le remarqua. J'ai ajouté la balise "delphi" plus générale afin d'obtenir plus de vues. –

+1

J'ai lu à quelques reprises que ce problème a été résolu en incluant l'unité pertinente dans la clause uses, je pense que "DBXMsSql" dans ce cas. BTW, AFAIK changer le nom de la connexion réinitialise le nom du pilote, donc il ne sert à rien de définir le nom du pilote à l'avance. –

Répondre

0

Essayez ceci:

With MSSQLCONNECTION do begin 
ConnectionName:= 'SQLCONN'; 
LoadParamsFromIniFile('file.ini'); 
try 
Connected:=true; 
Execute('select * from auto',nil); 
except 
    on E: Exception do begin 
    ShowException(E, nil); 
    Halt(1); 
    end; 
end; 

fin;

base.ini:

[SQLCQONN] 
bad param 
drivername=MSSQL 
schemaoverride=%.dbo 
vendorlibwin64=sqlncli10.dll 
HostName=localhost\sqlexpress 
database=sec 
user_name=sa 
password=Guess 
blobsize=-1 
localecode=0000 
isolationlevel=ReadCommitted 
os authentication=False 

Pour plus de détails voir http://docwiki.embarcadero.com/RADStudio/en/Setting_Up_TSQLConnection

Questions connexes