![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
How so I connect to a database on a different machine. For instance if I want to connect to the same machine I do db2 connect to sample If this database is on a different machine how do I do it. |
#3
| |||
| |||
|
|
Hi Steve. Well it kinda depends on how you wish to connect. If you have DB2_COMM=TCPIP in your db2set, then I'm gonna assume you're trying to connect through the db2 client on a different machine. If you have the DB2 client on a different machine then you need to catalog both the instance and the database first. On DB2 LUW this is done in the following manner on the client PC: DB2 CATALOG TCPIP NODE <nodename> REMOTE <ip> SERVER <portnr (50000) DB2 CATALOG DB <dbname> AT NODE <nodename Then you can connect with: DB2 CONNECT TO <dbname> USER <username I hope this is useful to you. (I might have made a typo somewhere since I typed this from heart). Steve Rainbird wrote: How so I connect to a database on a different machine. For instance if I want to connect to the same machine I do db2 connect to sample If this database is on a different machine how do I do it. |
#4
| |||
| |||
|
|
Then I tried to connect and got the following. $ db2 connect to pear SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.1.2". Communication function detecting the error: "connect". Protocol specific error code(s): "111", "*", "*". SQLSTATE=08001 $ Any ideas? |
#5
| |||
| |||
|
|
Well, it seems that your server on 192.168.1.2 is not configure to talk TCP/IP. To check this, you can log in on the server, and execute a db2set. if there's no line saying: DB2_COMM=TCPIP then you should probably add this by using db2set. Furthermore, if you do so, check in your /etc/services that there's an entry like 'db2 50000/tcp'. if not, add it. DB2 needs to know on what port to run its service. And finally, check your DBM settings by executing a 'db2 get dbm cfg' there should be a 'SVCENAME' please set this one to the corrosponding setting in your services. You can do this by, for example, executing: 'db2 UPDATE DBM CFG USING SVCENAME db2' Now restart your instance (db2stop/db2start) Good luck. Steve Rainbird wrote: Then I tried to connect and got the following. $ db2 connect to pear SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.1.2". Communication function detecting the error: "connect". Protocol specific error code(s): "111", "*", "*". SQLSTATE=08001 $ Any ideas? |
#6
| |||
| |||
|
|
"Jurgen Haan" <jurgen (AT) fake (DOT) dom> wrote in message news:470634B1.5090403 (AT) fake (DOT) dom... Well, it seems that your server on 192.168.1.2 is not configure to talk TCP/IP. To check this, you can log in on the server, and execute a db2set. if there's no line saying: DB2_COMM=TCPIP then you should probably add this by using db2set. Furthermore, if you do so, check in your /etc/services that there's an entry like 'db2 50000/tcp'. if not, add it. DB2 needs to know on what port to run its service. And finally, check your DBM settings by executing a 'db2 get dbm cfg' there should be a 'SVCENAME' please set this one to the corrosponding setting in your services. You can do this by, for example, executing: 'db2 UPDATE DBM CFG USING SVCENAME db2' Now restart your instance (db2stop/db2start) Good luck. Steve Rainbird wrote: Then I tried to connect and got the following. $ db2 connect to pear SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.1.2". Communication function detecting the error: "connect". Protocol specific error code(s): "111", "*", "*". SQLSTATE=08001 $ Any ideas? Thanks Jurgen you have been very helpful. I can now connect from "ruby" to a database on "amber" but not vice versa. They both look to have been setup identically except that "ruby" is 64 bit and "amber" is 32. This shouldn't cause a problem should it? -- Steve |
#7
| |||
| |||
|
| BTW in case it matters we are currently using DB2 Express-C. -- Steve |
#8
| |||
| |||
|
|
snip BTW in case it matters we are currently using DB2 Express-C. -- Steve Looks like this may be the problem. The machine the 64bit database is on has 6GB memory. DB2 Express-C has limit of 4GB I believe. |
#9
| |||
| |||
|
|
snip BTW in case it matters we are currently using DB2 Express-C. -- Steve Looks like this may be the problem. The machine the 64bit database is on has 6GB memory. DB2 Express-C has limit of 4GB I believe. |
#10
| |||
| |||
|
|
Steve Rainbird wrote: snip BTW in case it matters we are currently using DB2 Express-C. -- Steve Looks like this may be the problem. The machine the 64bit database is on has 6GB memory. DB2 Express-C has limit of 4GB I believe. Not entirely sure about that. I'm running an Express-C on a 64bit server with 16GB memory. Ofc it only uses 4GB at the moment. (It's a failover machine for when our WSUE machine goes offline. It's running a testenvironment on express-C and when our pri. machine explodes, we can reinstall the failover machine to run the WSUE. Financial matter, in case anyone is wondering why the *** we're running an express-c on a 64bit machine). In our production environment, we're using an 64bit linux db2 WSUE machine using 16GB memory. Our clients are 32bit linux machines running the db2 client. So we're using 32bit clients to connect to a 64bit db server. In our test environment, we're using an 64bit linux with 16GB running db2 express-C to which 32bit linux machines running the db2 client are connecting. So I think, at least at one point, we have a very similar situation to yours, and it works without a hassle. We even have 32bit windows machines connecting to our test environment using QUEST and DB2CC. What kind of errors do you get? Regards, Jurgen. |
![]() |
| Thread Tools | |
| Display Modes | |
| |