Bonjour,
J'essaie de convertir une application Delphi7 sous Delphi 10.4.2.
La version 7 fonctionne avec dbexpress. Je souhaiterais, dans un premier temps, continuer à fonctionner de la même façcon avec Delphi 10.
Je verrais plus tard, pour passer sous firedac.
J'utilise les composants suivants :
Je les initialise ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 type TForm1 = class(TForm) conn1: TSQLConnection; qry1: TSQLQuery; cds1: TClientDataSet; dsp1: TDataSetProvider; ds1: TDataSource; grid1: TDBGrid; SQLConnection1: TSQLConnection; procedure FormCreate(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end;
Ce code fonctionne parfaitement sous Delphi 7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 procedure TForm1.FormCreate(Sender: TObject); var str: string; begin grid1.DataSource := ds1; ds1.DataSet := cds1; cds1.ProviderName := dsp1.Name; dsp1.DataSet := qry1; qry1.SQL.Text := 'SELECT * FROM dbo.TSERVICE;'; qry1.SQLConnection := conn1; conn1.LoginPrompt := False; conn1.ConnectionName := 'MSSQLConnection'; conn1.DriverName := 'MSSQL'; conn1.GetDriverFunc := 'getSQLDriverMSSQL'; conn1.LibraryName := 'dbexpmss.dll'; // 'dbxmss.dll' pour d10 conn1.VendorLib := 'oledb'; conn1.Params.Clear; conn1.Params.Values['DriverName'] := 'MSSQL'; conn1.Params.Values['HostName'] := '.'; conn1.Params.Values['Database'] := 'ma_table'; conn1.Params.Values['User_Name'] := 'sa'; conn1.Params.Values['Password'] := 'password'; try conn1.Open; cds1.Open; str := 'ok'; except on e: Exception do str := e.Message; end; ShowMessage(str); end;
Sous Delphi 10.4.2, j'obtiens l'erreur suivante : "Erreur DBX: Le pilote n'a pas été correctement initialisé. La bibliothèque client est manquante, n'est pas installée correctement, sa version est incorrecte, ou le pilote n'est pas dans le chemin système."
J'ai placé dans le dossier de l'exe le fichier dbxmss.dll que j'ai récupéré dans le dossier "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin".
Quelqu'un aurait-il une idée de ce qui ne fonctionne pas ?
Partager