首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Pro*C连接有关问题

2012-01-06 
Pro*C连接问题include stdio.h#include string.h#include stdlib.hEXEC SQL DECLARE dblinkname1 DA

Pro*C连接问题
include <stdio.h>
#include <string.h>
#include <stdlib.h>

EXEC SQL DECLARE dblinkname1 DATABASE;
EXEC SQL INCLUDE SQLCA; 


int main()
{
  EXEC SQL BEGIN DECLARE SECTION; 
  VARCHAR username[50],password[20],dbname[20]; 
  EXEC SQL END DECLARE SECTION; 

  strcpy((char *)username.arr,"test");
  username.len = strlen((char *)username.arr);
  strcpy((char *)password.arr,"test");
  password.len = strlen((char *)password.arr);
  strcpy((char *)dbname.arr,"192.168.3.38"); // tagA 请教此处
  dbname.len = strlen((char *)dbname.arr);
 
  EXEC SQL CONNECT :username IDENTIFIED BY :password AT dblinkname1 USING :dbname; // tagB
  if (sqlca.sqlcode)
  {
  printf("fail to connect!\n");
  return 1;
  }
  printf("connect to db successfully\n");
  EXEC SQL AT dblinkname1 COMMIT WORK RELEASE;
  return 0;

用Pro*C边本机的Oracle时, tagB处把"using :dbname"去掉就可以了
现在要连接LAN中的另一台机器, IP=92.168.3.38, oracle数据库名=dztl.
请教高手tagA处应该怎么写

[解决办法]
使用net configuration assistant配置连接串,测试成功后引用。
server应该是连接串名。


探讨
EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server;
中的server到底是什么, 是计算机名, 无端数据库名, 还是什么

[解决办法]
用netca配置本地服务名,USING :本地服务名;就可以了

热点排行
Bad Request.