Delphi sql server

morcodou Messages postés 1 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 26 février 2004 - 26 févr. 2004 à 18:46
cs_Keneda Messages postés 32 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 3 octobre 2012 - 21 mai 2004 à 13:19
salut les amis

je voudrai savoir comment se fait la connection de delphi sql sarver avec ado sans assistant?
A voir également:

4 réponses

pjankowski Messages postés 4 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 12 mars 2004
12 mars 2004 à 10:40
Sur le compodant ADO (ADOQuery ou ADOTable), il faut instruire la propriété ConnectionString avec la chaîne suivante

Provider=SQLOLEDB.1;Persist Security Info=False;Password=mot_de_passe_connexion;User ID=utilisateur_authentifié;Initial Catalog=Nom_de_la_base

Si l'utilisateur est 'sa' sans mot de passe, pour la base sql toto la chaîne de connexion sera :

adoquery.connectionstring := 'Provider=SQLOLEDB.1;Persist Security Info=False;Password=;User ID=sa;Initial Catalog=toto';

------------------------------------------------------------------

Si l'on veut se connecter à d'autres bases que sql serveur avec les composants ADO, il faut le spécifier dans la partie provider de la chaine.
Par exemple :

MSSQLFournisseur = 'Provider=SQLOLEDB.1';
pour une base sql serveur

ACCESFournissuer = 'Provider=Microsoft.Jet.OLEDB.4.0';
pour une base acces

ODBCFournisseur = 'Provider=MSDASQL.1';
vers une base définie dans l'ODBC

ORACLEFournissuer = 'Provider=MSDAORA.1';
pour une base oracle

------------------------------------------------------------------
CONST
MSSQLFournisseur = 'Provider=SQLOLEDB.1';
ACCESFournissuer = 'Provider=Microsoft.Jet.OLEDB.4.0';
ODBCFournisseur = 'Provider=MSDASQL.1';
ORACLEFournissuer = 'Provider=MSDAORA.1';

function setConnexionString(fournisseur,base,User,PassWord: string):string;
var st: string;
begin
st := '';
if fournisseur = 'SQLSERVER'
then begin
st := MSSQLFournisseur+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Initial Catalog='+base;
end
else
if fournisseur = 'ACCESS'
then begin
st := ACCESFournissuer+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end
else
if fournisseur = 'ODBC'
then begin
st := ODBCFournisseur+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end
else
if fournisseur = 'ORACLE'
then begin
st := ORACLEFournissuer+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end;
result := st;
end;

utiliser ensuite la fonction de la manière suivante pour sql serveur sur la base toto citée plus haut :

adoQuery.connectionString := setConnexionString('SQLSERVER','toto','sa','');

En espérant que cla réponde à vos attentes. ;)
0
pjankowski Messages postés 4 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 12 mars 2004
12 mars 2004 à 10:40
Sur le compodant ADO (ADOQuery ou ADOTable), il faut instruire la propriété ConnectionString avec la chaîne suivante

Provider=SQLOLEDB.1;Persist Security Info=False;Password=mot_de_passe_connexion;User ID=utilisateur_authentifié;Initial Catalog=Nom_de_la_base

Si l'utilisateur est 'sa' sans mot de passe, pour la base sql toto la chaîne de connexion sera :

adoquery.connectionstring := 'Provider=SQLOLEDB.1;Persist Security Info=False;Password=;User ID=sa;Initial Catalog=toto';

------------------------------------------------------------------

Si l'on veut se connecter à d'autres bases que sql serveur avec les composants ADO, il faut le spécifier dans la partie provider de la chaine.
Par exemple :

MSSQLFournisseur = 'Provider=SQLOLEDB.1';
pour une base sql serveur

ACCESFournissuer = 'Provider=Microsoft.Jet.OLEDB.4.0';
pour une base acces

ODBCFournisseur = 'Provider=MSDASQL.1';
vers une base définie dans l'ODBC

ORACLEFournissuer = 'Provider=MSDAORA.1';
pour une base oracle

------------------------------------------------------------------
CONST
MSSQLFournisseur = 'Provider=SQLOLEDB.1';
ACCESFournissuer = 'Provider=Microsoft.Jet.OLEDB.4.0';
ODBCFournisseur = 'Provider=MSDASQL.1';
ORACLEFournissuer = 'Provider=MSDAORA.1';

function setConnexionString(fournisseur,base,User,PassWord: string):string;
var st: string;
begin
st := '';
if fournisseur = 'SQLSERVER'
then begin
st := MSSQLFournisseur+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Initial Catalog='+base;
end
else
if fournisseur = 'ACCESS'
then begin
st := ACCESFournissuer+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end
else
if fournisseur = 'ODBC'
then begin
st := ODBCFournisseur+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end
else
if fournisseur = 'ORACLE'
then begin
st := ORACLEFournissuer+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end;
result := st;
end;

utiliser ensuite la fonction de la manière suivante pour sql serveur sur la base toto citée plus haut :

adoQuery.connectionString := setConnexionString('SQLSERVER','toto','sa','');

En espérant que cla réponde à vos attentes. ;)
0
pjankowski Messages postés 4 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 12 mars 2004
12 mars 2004 à 10:40
Sur le compodant ADO (ADOQuery ou ADOTable), il faut instruire la propriété ConnectionString avec la chaîne suivante

Provider=SQLOLEDB.1;Persist Security Info=False;Password=mot_de_passe_connexion;User ID=utilisateur_authentifié;Initial Catalog=Nom_de_la_base

Si l'utilisateur est 'sa' sans mot de passe, pour la base sql toto la chaîne de connexion sera :

adoquery.connectionstring := 'Provider=SQLOLEDB.1;Persist Security Info=False;Password=;User ID=sa;Initial Catalog=toto';

------------------------------------------------------------------

Si l'on veut se connecter à d'autres bases que sql serveur avec les composants ADO, il faut le spécifier dans la partie provider de la chaine.
Par exemple :

MSSQLFournisseur = 'Provider=SQLOLEDB.1';
pour une base sql serveur

ACCESFournissuer = 'Provider=Microsoft.Jet.OLEDB.4.0';
pour une base acces

ODBCFournisseur = 'Provider=MSDASQL.1';
vers une base définie dans l'ODBC

ORACLEFournissuer = 'Provider=MSDAORA.1';
pour une base oracle

------------------------------------------------------------------
CONST
MSSQLFournisseur = 'Provider=SQLOLEDB.1';
ACCESFournissuer = 'Provider=Microsoft.Jet.OLEDB.4.0';
ODBCFournisseur = 'Provider=MSDASQL.1';
ORACLEFournissuer = 'Provider=MSDAORA.1';

function setConnexionString(fournisseur,base,User,PassWord: string):string;
var st: string;
begin
st := '';
if fournisseur = 'SQLSERVER'
then begin
st := MSSQLFournisseur+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Initial Catalog='+base;
end
else
if fournisseur = 'ACCESS'
then begin
st := ACCESFournissuer+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end
else
if fournisseur = 'ODBC'
then begin
st := ODBCFournisseur+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end
else
if fournisseur = 'ORACLE'
then begin
st := ORACLEFournissuer+';';
st := st + 'Persist Security Info=False;';
st := st + 'Password='+password+';';
st := st + 'User ID='+user+';';
st := st + 'Data Source='+base;
end;
result := st;
end;

utiliser ensuite la fonction de la manière suivante pour sql serveur sur la base toto citée plus haut :

adoQuery.connectionString := setConnexionString('SQLSERVER','toto','sa','');

En espérant que cla réponde à vos attentes. ;)
0
cs_Keneda Messages postés 32 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 3 octobre 2012
21 mai 2004 à 13:19
Keneda, la fusée rouge >:)

Salut à tous, il y a plus simple pour définir la chaine de connexion et ce en fonction des drivers installés sur votre machine ou la machine applicative. Il suffit d'appeler directement la fenêtre de paraméterage de connexion du Composant ADO, Vous savez la fameuse fenêtre qui apparaît quand on clic sur la propriété du composant.

Il suffit d'ajouter dans la clause uses de votre unité AdoConEd, puis d'appeler la méthode EditConnectionString qui demande en paramètre le composant de connexion et qui fait tout toute seule.

exemple: j'ai posé un composant ADOconnection1 sur mon TForm

procedure TForm1.bChangerConnexionClick(Sender: TObject);
begin
ADOConnection1.close; // si jamais elle est ouverte avant
if EditConnectionString(ADOConnection1) then
ADOConnection1.Open;
end;

Et voila, le tour est joué 8-)

@+
0
Rejoignez-nous