Linux odbc vers As400

Linux odbc vers As400 - Logiciels - Linux et OS Alternatifs

Marsh Posté le 21-02-2005 à 07:30:23    

But: Se connecter sur une base de l'AS400 Via un script php se trouvant sur une machine  
 
linux.
 
Serveur AS400
-------------
 
Nom : borprd
usr : bruno
pwd : xxx
IP : 10.15.100.100
 
Serveur Linux
-------------
 
Nom : c2svrintranet
usr : root
pwd : xxx
IP : 10.15.102.5
 
Apache 1.3
Mysql 4
unixODBC
Php4 (Avec support unixODBC)
IbmIseriesAccess Client installé via le package alien (qui permet de convertir des rmp en .deb)
 
 
Contenu des fichiers
--------------------
 
-> odbcinst.ini
[DB2]
Description = DB2 driver
Driver = /lib/libdb2.so.2
FileUsage = 1
DontDLClose = 1
 
-> odbc.ini
[sample]
Description = test
Driver = DB2
 
-> Script php

Code :
  1. $dsn = sample;
  2. $user = bruno;
  3. $passwd = xxx;
  4. $conn = odbc_connect($dsn,$user,$passwd );
  5. echo "conn: $conn";
  6. if ($conn <= 0) {
  7. echo "Error in connection<BR>";
  8. exit;
  9. }
  10. else {
  11. echo "<P>Connection successful\n";
  12. };
  13. odbc_Close($conn);
  14. ?>


 
Lancement du script
-------------------
 
-> Erreur du script
 
Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Driver's SQLAllocHandle on  
 
SQL_HANDLE_HENV failed, SQL state IM004 in SQLConnect  
 
-> Informations trouvée concernant cette erreur
 
Rajouter ceci avant dans le lancement de apache (apachectl)
 
DB2INSTANCE=db2inst1
export DB2INSTANCE
 
db2inst1 is name of db2 instance. (Aucune idée de ce que c'est :S)
 
Solution
--------
 
Ca ne marche pas, et je ne sais pas pq :S
 
merci


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 21-02-2005 à 07:30:23   

Reply

Marsh Posté le 21-02-2005 à 10:39:36    

Citation :

Why do I get "IM004, Driver's SQLAllocHandle on SQL_HANDLE_HENV failed" connecting to DB2?
 
 
This error generally occurs in UNIX because the environment variable DB2INSTANCE is not set and exported before the OOB Server is started. You need to either:
 
Alternatively, if you are using the unixODBC driver manager you can use SQL_ATTR_UNIXODBC_ENVATTR in the odbc.ini file (see elsewhere in this FAQ) to set environment variables per DSN.
 
--------------------------------------------------------------------------------------------
 
How can I avoid setting shell environment variables required by a driver?
 
 
Some drivers require environment variables setting before you can successfully connect (e.g. DB2 and DB2INSTANCE, Oracle and ORACLE_HOME). If you are using the unixODBC Driver Manager you can set environment variables per DSN in the odbc.ini file using the following syntax:
 
DMEnvAttr = SQL_ATTR_UNIXODBC_ENVATTR={ENVVAR=value}
 
e.g.
 
DMEnvAttr = SQL_ATTR_UNIXODBC_ENVATTR={DB2INSTANCE=db2inst2}
 
The unixODBC driver manager will then set the environment variable before connecting to the driver. Note, this only works this way when using DSN based connections.
 
--------------------------------------------------------------------------------------------


 
Qu'est ce qu'une instance DB2 ???
 
Merci


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 21-02-2005 à 13:51:15    

après 4 jours de recherche, j'y suis enfin arrivé :-)
J'ai d'ailleurs réalisé un tout petit pdf sur la mise en place d'un tel systeme.
 
http://www.leveilleur.net/chris/Co [...] -As400.pdf


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 22-02-2005 à 10:07:39    

Quelqu'un sait comment sécuriser une connexion odbc?
 
merci


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 02-05-2005 à 14:55:16    

Mon serveur est tjs offline pour le moment, si quelqu'un souhaite cette doc : christopher@leveilleur.net


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed