Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!ubc-cs!fornax!hall From: hall@fornax.UUCP (Gary Hall) Newsgroups: comp.databases Subject: Problem using Oracle Pro*C & SQL*Net together Message-ID: <213@fornax.UUCP> Date: 10 Jan 90 00:34:30 GMT Reply-To: hall@cs.sfu.ca (Gary Hall) Organization: School of Computing Science, SFU, Burnaby, B.C. Canada Lines: 56 Summary: Can't connect References: I am having trouble connecting to a remote Oracle database (Ver 6.0) from a Pro*C program using SQL*Net TCP/IP. I have no trouble making the connection with SQL*Plus or SQL*DBA. Here is the code: #include EXEC SQL BEGIN DECLARE SECTION; VARCHAR uid[30]; VARCHAR pwd[30]; VARCHAR host1[20]; EXEC SQL END DECLARE SECTION; EXEC SQL INCLUDE sqlca.h; main() { strcpy(uid.arr,"userid"); uid.len = strlen(uid.arr); strcpy(pwd.arr,"password"); pwd.len = strlen(pwd.arr); strcpy(host1.arr,"t:servername:aaa"); host1.len = strlen(host1.arr); EXEC SQL DECLARE AAA DATABASE; EXEC SQL CONNECT :uid IDENTIFIED BY :pwd AT AAA USING :host1; printf("returncode:%d\n",sqlca.sqlcode); EXEC SQL COMMIT WORK RELEASE; exit(0); } The result is: returncode:-6105 (6105 means "cannot connect to remote host- remote host is unknown". (The output is printed after a wait of 90 secs.) The string "t:servername:aaa" works fine with SQL*Plus etc. Oracle tech support faxed me this working code : /* ... The program requires ... a remote database specification setup called REMOTE that points to the remote node/CPU. ... */ ... VARCHAR node_id[40]; /* Node ID (eg. DECNet node name) */ ... /* Set up the Node id ('REMOTE') for the remote database ... the "D" specifies DECNet */ strcpy(node_id.arr, "D:REMOTE"); ... EXEC SQL DECLARE DB_REMOTE DATABASE; ... EXEC SQL CONNECT :username IDENTIFIED BY :password AT DB_REMOTE USING :node_id; ... Questions: 1. Why does the Oracle REMOTE specification only refer to a protocol and a host, and not to a database? (This doesn't work for me.) 2. What's wrong with what I'm doing? All suggestions will be gratefully received.