Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2006, 15h11   #1
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
Par défaut Connexion SQL Server en ODBC

Bonjour,

je cherche à me connecter sur un serveur distant en interne (intranet) via odbc. Voici mes paramètres de connexion:

$dsn="Driver={SQL Server};"."Server=192.168.9.100;"."database=societe;"."uid=bidule;pwd=truc";

puis la connexion :

if (($s=odbc_connect($dsn,'sa','')) == FALSE){
echo "erreur sur la base de données";
}
else{...}

j'obtiens la chose suivante en réponse :
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC SQL Server Driver]Le client n'a pas pu établir la connexion, SQL state 08001 in SQLConnect in ....

Je ne vois pas trop d'ou cela peut venir dans la mesure où je fais la même chose avec mes autres serveurs et que cela fonctionne. La différence entre ce serveur et les autres : celui ci est en 2003 et les autres en 2000.

Quelqu'un aurait-il une idée?

Merci
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 15h20   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Procede comme ceci pluto:

Code :
1
2
 
$conn = odbc_connect($dsn,$user,$passwd);
ou dsn et le nom configuré dans ton driver odbc...
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 15h42   #3
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
y'a un truc que je capte pas... comment se fait-il que sur un autre serveur j'arrive à me connecter et à lire dans les bases sql server alors que lorsque je vais sur ce même serveur dans outils d'administration > sources de données (ODBC), je ne trouve aucune source ODBC ?
dans sources de données utilisateur, j'ai dBase, Fichiers Excel, MS Access et FoxPro mais rien concernant SQL Server....

je capte pas là...
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 15h44   #4
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
parce que l'odbc regroupes ces différentes bases
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 15h44   #5
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
moi non plus bon essaye de rajouter le driver sql server alor..
Citation:
Les drivers de pont JDBC/ODBC : ce type de pilote, fourni en standard avec le J2SE (Java 2 Standard Edition), permet de convertir les appels JDBC en appel ODBC (Open Database Connectivity). ODBC est fourni en standard sur tout Windows et permet la connexion à des bases de natures diverses (Access, SQL Server, Oracle, ...).
reponse
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 15h46   #6
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
Citation:
Envoyé par scorpking
parce que l'odbc regroupes ces différentes bases
c'est à dire?
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 15h49   #7
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
si j'ai bien ecouté en cour les odbc c'est pour se connecter a différentes base comme exel access et d'autres mais ça n'a pas l'air d'etre ça que tu voulais dire
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 16h01   #8
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
OK ma source odbc est créée (nom : sqlserver). Le problème est que la base est distante. Comment s'y connecter en php?
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2006, 10h52   #9
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Tu t'y connect avec odbc_connect:

$conn = odbc_connect($dsn,$user,$passwd);
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 11h54   #10
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
Alors, j'ai tenté de créer, sur mon serveur web un DSN, via outils d'administration>sources odbc>ajout source utilisateur...

dans cet outil, je teste la connexion, pas de problème

et lorsque dans mon script je tente de faire une connexion de la façon suivante :

Code :
1
2
3
4
5
 
 $conn  =  odbc_connect("Driver={SQL Server};Server=calais","sa","");
 echo  "conn:  $conn";
 if  ($conn  <=  0)  {echo  "Error  in  connection<BR>";}
 else  {echo  "<P>Connection  successful\n";}
"calais" étant le nom du DSN créé via outils d'administration>source odbc...

et voici le message d'insultes que je reçois...

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC SQL Server Driver][Named Pipes]Serveur SQL spécifié non trouvé., SQL state 08001 in SQLConnect in C:\www\intranet\intrater\section\parcmateriel\include\essai.php on line 5
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 11h59   #11
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
essaye comme ça..


Code :
1
2
3
4
5
 
  $conn  =  odbc_connect('calais','sa','');
  echo  "conn:  $conn";
  if  ($conn  <=  0)  {echo  "Error  in  connection<BR>";}
  else  {echo  "<P>Connection  successful\n";}
en sachant que sa doit etre ton nom dutilisateur et pas de password
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 13h58   #12
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
nouvelle insulte :

pour l'essai :
Code :
1
2
3
4
 $conn  =  odbc_connect('calais','sa','');
 echo  "conn:  $conn";
 if  ($conn  <=  0)  {echo  "Error  in  connection<BR>";}
 else  {echo  "<P>Connection  successful\n";}
j'obtiens :

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][Gestionnaire de pilotes ODBC] Source de données non trouvée et nom de pilote non spécifié, SQL state IM002 in SQLConnect in C:\www\intranet\intrater\section\parcmateriel\include\essai.php on line 5
conn: Error in connection
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 14h39   #13
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
moi je fais ca avec mon script certes c'est un autres pilote odbc...mais bon ca viens surement de la config de ton pilote..précision je suis sous linux ....donc moi je fais dans mon script:

Code :
$conn = odbc_connect($dsn,$user,$passwd);  /*avec dsn :nom du lien odbc ds le fichier de config odbc.ini*/
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 14h44   #14
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
le truc c'est que ça fonctionne sur des serveurs 2000 mais pas sur le seul serveur 2003. Je vais aller voir du côté du odbc.ini si je le trouve...
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 11h21   #15
Membre habitué
 
Homme Gaëtan
Développeur Oracle
Inscription : mai 2006
Messages : 117
Détails du profil
Informations personnelles :
Nom : Homme Gaëtan
Localisation : France

Informations professionnelles :
Activité : Développeur Oracle
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2006
Messages : 117
Points : 115
Points : 115
voici une fonction qui marche nickel chez moi...



// se connecte à un serveur et renvoie un message d'erreur le cas échéant
function ODBC_connexion($host, $username, $password, $db) {
$connection_string = "DRIVER={MySQL ODBC 3.51 DRIVER};SERVER=".$host.";DATABASE=".$db.";";
$conn = odbc_connect($connection_string, $username, $password);
if(!$conn) {
echo "Impossible d'établir une connexion au serveur ".$host."<br>";
exit;
} else {
return $conn; // identifiant de connexion
}
}
attila771 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 09h52   #16
Membre habitué
 
Avatar de grinder59
 
Inscription : septembre 2005
Messages : 514
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 514
Points : 128
Points : 128
sans doute, mais pas chez moi dans la mesure ou je tente de me connecter à un serveur MSSQL Server.

Si je tente :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
function ODBC_connexion($host, $username, $password, $db) {
  $connection_string = "DRIVER={SQL SERVER};SERVER=".$host.";DATABASE=".$db.";";
  $conn = odbc_connect($connection_string, $username, $password);
  if(!$conn) {
    echo "Impossible d'établir une connexion au serveur ".$host."<br>";
    exit;
  } else {
    return $conn; // identifiant de connexion
  }
}
j'obtiens la même réponse :
SQL error: [Microsoft][ODBC SQL Server Driver][Named Pipes]Accès refusé., SQL state 08001 in SQLConnect
grinder59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2007, 16h10   #17
Membre actif
 
Avatar de Bily.sdi
 
Inscription : novembre 2005
Messages : 208
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 208
Points : 160
Points : 160
Envoyer un message via MSN à Bily.sdi
sql server doit utiliser certain port qui sont souvent bloque !!

mais si tu as reussi envoi l'info

merci d'avance
Bily.sdi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h10.


 
 
 
 
Partenaires

Hébergement Web