pro*c 连接问题

liuyjcsdn 2003-08-21 02:12:34
开发环境:linux7.3
oracle8.1.7
pro*c
我想把本地数据库中一个表的数据拷贝到另外一台机器的数据库的表中
在sqlplus下测试通过
我想用pro*c程序实现
但是隐式连接不通清高手执教
EXEC SQL CREATE DATABASE LINK db_link1 CONNECT TO system IDENTIFIED BY manager USING 'local';
EXEC SQL CREATE DATABASE LINK db_link2 CONNECT TO system IDENTIFIED BY manager USING 'remote';
EXEC SQL INSERT INTO dest_tbl@db_link2 SELECT * FROM source_tbl@db_link1;

执行结果‘NOT LOGGED ON'

...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gujianxin 2003-08-23
  • 打赏
  • 举报
回复
你的连接有问题,

为了简单,我只把连接作为一个整体 例如:user/pass@orcl

用下面的函数连接数据库

/******************************************************************************/
/* 外部函数
/******************************************************************************/

/* 连接数据库 */
/* return value: 1 success, 0 failure */
int db_connect(const char * usr)
{
VARCHAR RegUsr[30];

strcpy((char *)RegUsr.arr,usr);
RegUsr.len = strlen((const char *)RegUsr.arr);

EXEC SQL WHENEVER SQLERROR goto sql_err;
db_disconnect();

EXEC SQL connect:RegUsr;

return 1;
sql_err:
return 0;
}


/* 断开 */
void db_disconnect()
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL ROLLBACK WORK RELEASE;
return ;
}

你的程序既然编译通过,应该配置差不多了,如有问题,可参见
http://expert.csdn.net/Expert/topic/2092/2092655.xml?temp=.9889795

wish can help you
klbt 2003-08-23
  • 打赏
  • 举报
回复
困难的问题。
liuyjcsdn 2003-08-21
  • 打赏
  • 举报
回复
一个连接的也不通

EXEC SQL CREATE DATABASE LINK db_link1 CONNECT TO system IDENTIFIED BY manager USING 'local';
EXEC SQL SELECT * FROM test_tbl@local;

执行结果‘NOT LOGGED ON'
gujianxin 2003-08-21
  • 打赏
  • 举报
回复
没做过两个连接的,up一下吧

3,492

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧