423,688 Members | 2,147 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 423,688 IT Pros & Developers. It's quick & easy.

problem with configure PHP with IBM-DB2 driver for connecting Apache derby database

P: 23
Hi All,

I am trying to configure php with IBM-DB2 and I get the followinng when i run the configure command

./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/

THE OUTPUT:

checking for ODBC v3 support for PDO... yes
checking for PDO includes... checking for PDO includes... /home/knellim/php-5.3.1/ext
checking for selected PDO ODBC flavour... ibm-db2
libs /opt/IBM/db2/V8.1//lib,
headers /opt/IBM/db2/V8.1//include
checking for odbc.h in /opt/IBM/db2/V8.1//include... no
checking for odbcsdk.h in /opt/IBM/db2/V8.1//include... no
checking for iodbc.h in /opt/IBM/db2/V8.1//include... no
checking for sqlunix.h in /opt/IBM/db2/V8.1//include... no
checking for sqltypes.h in /opt/IBM/db2/V8.1//include... no
checking for sqlucode.h in /opt/IBM/db2/V8.1//include... no
checking for sql.h in /opt/IBM/db2/V8.1//include... yes
checking for isql.h in /opt/IBM/db2/V8.1//include... no
checking for sqlext.h in /opt/IBM/db2/V8.1//include... yes
checking for isqlext.h in /opt/IBM/db2/V8.1//include... no
checking for udbcext.h in /opt/IBM/db2/V8.1//include... no
checking for sqlcli1.h in /opt/IBM/db2/V8.1//include... yes
checking for LibraryManager.h in /opt/IBM/db2/V8.1//include... no
checking for cli0core.h in /opt/IBM/db2/V8.1//include... no
checking for cli0ext.h in /opt/IBM/db2/V8.1//include... no
checking for cli0cli.h in /opt/IBM/db2/V8.1//include... no
checking for cli0defs.h in /opt/IBM/db2/V8.1//include... no

So basically, I have installed the DB2 runtime client but there are no header files in that needed for the succesful connection to Apache Derby database.

When i run my connect php script i get error message
SQLSTATE[IM002] SQLConnect: 0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified

PLEASE, anyome who has configured PHP with IBM-DB2 pls help me.. Its urgent!!
Feb 18 '10 #1

✓ answered by Markus

Please see this page on php.net.

Share this Question
Share on Google+
20 Replies


Dormilich
Expert Mod 5K+
P: 8,639
how do you connect to the DB?
Feb 19 '10 #2

Markus
Expert 5K+
P: 6,050
Please see this page on php.net.
Feb 19 '10 #3

P: 23
I connect to the DB using the CATALOG TCPIP command. My database is located on the same machine.
I start the Derby Network serveri in Opt/Apache/derby/bin by giving
# ./startNetworkserver&

The database created is named as vcl
Then, I start the DB2 CLI and give the below commands
db2=>catalog tcpip node vclnode remote localhost server 1527
db2=>catalog db VCL at node vclnode authetication server
db2=>connect to VCL user vcluser using vclPassw

This connectd my DB2 client and derby database as I can see tables by giving select command,

Can u help me in connecting PHP with DB2. Thanks....in advance
Feb 19 '10 #4

Markus
Expert 5K+
P: 6,050
@knellim
Did you see my reply?
Feb 19 '10 #5

P: 23
I only saw ur last reply asking me how I connect to DB.. I did answer that and i m waiting fr ur resonse...
Feb 19 '10 #6

Markus
Expert 5K+
P: 6,050
That wasn't my reply. See #3.
Feb 19 '10 #7

P: 23
oh yaa..i saw that.. I am following the steps now.. I will try it and tell u if thagt worked..
Feb 19 '10 #8

P: 23
Hi Marcus,

I have the ibm_db2 driver configured. I made the changes to php.ini file as
extension=pdo.so
extension=ibm_db2.so
ibm_db2.instance_name=knellim

I have written php file in /var/www/html as
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. // Create the uncataloged connection string
  3.  $DSN = "DRIVER={IBM DB2 ODBC DRIVER};PROTOCOL=TCPIP;"
  4.          . "DATABASE='TEST';HOSTNAME='localhost';PORT=1527;"
  5.          . "UID='knellim';PWD='db2';";
  6. $conn = db2_connect($DSN,null,null);
  7. $sql = "SELECT id FROM resource";
  8. $stmt = db2_prepare($conn, $sql);
  9. $res = db2_execute($stmt, array(10));
  10. while ($row = db2_fetch_assoc($res)) {
  11. print "{$row['id']}\n";
  12. }
  13. ?>
and when i run it I as php connect.php , I get

PHP Warning: db2_prepare() expects parameter 1 to be resource, boolean given in /var/www/html/testvcl.php on line 9
PHP Warning: db2_execute() expects parameter 1 to be resource, null given in /var/www/html/testvcl.php on line 10
PHP Warning: db2_fetch_assoc() expects parameter 1 to be resource, null given in /var/www/html/testvcl.php on line 11

Pls can u help me with this.. Any idea why this is happening..??
Feb 19 '10 #9

P: 23
I wrote a simple script for testing my connection
Expand|Select|Wrap|Line Numbers
  1. <?php
  2.  
  3. $database = 'VCL';
  4. $user = 'vcluser';
  5. $password = 'vcluserpassword';
  6.  
  7. $conn = db2_connect($database, $user, $password);
  8.  
  9. if ($conn) {
  10.     echo "Connection succeeded.";
  11.     db2_close($conn);
  12. }
  13. else {
  14.     echo "Connection failed.";
  15. }
  16. ?>

It says Connection failed

Whats the username and password to be given there.. Is it the database user name and passw or DB2 instance username and password??

Please suggest
Feb 19 '10 #10

Dormilich
Expert Mod 5K+
P: 8,639
you simple fail to connect, so db2_connect() returns false. have you tried PDO, you installed the PDO driver after all?
Feb 19 '10 #11

Dormilich
Expert Mod 5K+
P: 8,639
Whats the username and password to be given there.. Is it the database user name and passw or DB2 instance username and password??
like the manual says, the login/password of the DB.
Feb 19 '10 #12

P: 23
Yes , I do have the pdo driver
I did php -m and it shows me the PHP modules which has the PDO
Feb 19 '10 #13

Dormilich
Expert Mod 5K+
P: 8,639
you could try to connect to DB2 using PDO.
Feb 19 '10 #14

P: 23
How can I do that.. Can u give me any example
Feb 19 '10 #15

P: 23
DO I have to add anything to the httpd.conf file to get connected.
Pls advice. I am unable to find out the problem with the connection.
Feb 19 '10 #16

Dormilich
Expert Mod 5K+
P: 8,639
check out the manual.
Feb 19 '10 #17

P: 23
When i use the connection string with PDO, it says driver not found.
But i can see pdo in the list of php modules. what does that mean. Do i have to install anything else???
Feb 20 '10 #18

P: 23
when using db2_connect , connection fails.
by using db2_conn_error command to see the error message code i get a blank . No error code. But the connection fails. It also shows a segmentation fault
Pls suggest.
Feb 20 '10 #19

P: 23
Hi..

My problem is solved. The problem was in setting the db2 profile info.
remember you have to do
# source /home/db2inst1/sqllib/db2profile
Also make changes to php.ini file and HTTP startup script.

Hope this helps..!
Mar 1 '10 #20

P: 1
hi knellim;

can you show me the solution/step by step on how you solve your problem in :
- db2profile info
- php.ini
- http startup script

i have been stuck all days to solve this.

your help is needed very much.

thank you.

@knellim
Feb 13 '18 #21

Post your reply

Sign in to post your reply or Sign up for a free account.