Avant de te connecter en Delphi, il faut que tu puisse utiliser odbcad32 correctement
Pense qu'il y a une section des experts SQL Server
On peut t'aider à créer une ConnectionString si tu arrives via des outils standard comme odbcad32 à faire fonctionner la connection
les outils SQL Server trichent, pour faire fonctionner odbcad32 il faut bien connaitre son SGBD
Une fois odbcad32 fonctionnel, tu pourras revenir sur Delphi
SQL Server n'est pas du tout ma spécialité, j'utilise Sybase Anywhere proche en terme de SQL et d'une simplicité de déploiement
En DBExpress,
sous D2007, on utilisait l'alias ODBC (indispensable pour Crystal Report 8 et 12)
sous XE2, on utilise directement le nom du serveur, plus proche de ce que tu fais actuellement même si CR utilise toujours l'alias ODBC (une DB système et non utilisateur pour une utilisation via un Service Windows)
En ADO, je me suis fait un mini explorateur, j'utilise une simple chaine de connexion lié à l'alias ODBC
Le même exe fonctionne sur MySQL, Sybase et Oracle, juste en changeant la chaine ConnectionString mais en passant toujours par l'alias ODBC, tellement plus simple (hormis login\pw évidemment)
Envoyé par
Powerdj
Après ce code
1 2 3 4
| ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := 'Driver={SQL Server Native Client 10.0};Server=BA\SQLEXPRESS;Database=BUD;User Id=DJBUD;Password=1979;';
ADOConnection1.Connected := true;
ADOQuery1.Active := true; |
S’affiche le message suivant : 'Attribut de chaîne de connexion non valide'
C'est normal {SQL Server Native Client 10.0}; ne connait pas User Id et Password mais Uid et Pwd
Attention, les paramètres comme User id\Uid ou Password\Pwd n'ont pas le même nom selon le driver\provider utilisé !
Il faut être rigoureux à ce sujet
Veille à bien lire le contenu de SQL Server 2005 connection strings
Il y a des nombreuses méthodes différentes, il faut utilise la syntaxe ODBC ou OLE DB Provider et pas celle du .NET
Envoyé par
Powerdj
Et après ce code
1 2 3 4
| ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := 'Provider=SQLNCLI10Server=BA\SQLEXPRESS;Database=BUD;Trusted_Connection=yes;';
ADOConnection1.Connected := true;
ADOQuery1.Active := true; |
S’affiche le message suivant : impossible de trouver le fournisseur il est peut être mal installé
Il y a une faute !
il manque le ; entre SQLNCLI10 et Server
'Provider=SQLNCLI10Server=BA\SQLEXPRESS;Database=BUD;Trusted_Connection=yes;';
Par contre, je n'utilise JAMAIS l’authentification Windows NT, puisque je ne fais jamais de SQL Server, j'ignore comment cela fonctionne exactement
Essaye ceci
1 2 3 4
| ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := 'Provider=SQLNCLI10;Server=BA\SQLEXPRESS;Database=BUD;Uid=DJBUD;Pwd=1979;';
ADOConnection1.Connected := true;
ADOQuery1.Active := true; |
ou
1 2 3 4
| ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := 'Provider=SQLNCLI;Server=BA\SQLEXPRESS;Database=BUD;Uid=DJBUD;Pwd=1979;';
ADOConnection1.Connected := true;
ADOQuery1.Active := true; |
Ne change pas tout à chaque fois, ne modifie qu'un seul paramètre sinon on se perd
Partager