关于网友提出的“ ProC在一个进程中,如何连接两个数据库啊”问题疑问,本网通过在网上对“ ProC在一个进程中,如何连接两个数据库啊”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: ProC在一个进程中,如何连接两个数据库啊
描述: 我最近在做一个pro*c的开发,需要在一个进程中连接两个不同的库,我使用EXEC SQL CONNECT TO :user1和EXEC SQL CONNECT TO :user2进行连接,但我要查询数据库时,怎样指定某一个连接啊,commit和closeDB呢?
请大家指教,谢谢了
解决方案1: 可以这样:
登录到远程数据库[ EXEC SQL DECLARE db_link_name DATABASE; ] EXEC SQL CONNECT :username IDENTIFIED BY :password [ AT db_link_name ] USING :db_name;
其中,db_name包含远程数据库名(对于oracle8i,就是在配置文件tnsnames.ora中定义的名称)。
可以为该连接定义一个连接名,db_link_name可以是一个标示符,或者是宿主变量。若为标示符,则需要使用DECLARE DATABAE进行说明。
若使用了AT子句,则在后面的SQL操作中也要指定该连接,否则操作的是缺省连接上的数据,而不是AT指定的连接。如:
EXEC SQL AT db_link_name SELECT…; EXEC SQL AT db_link_name INSERT…; EXEC SQL AT db_link_name UPDATE…; EXEC SQL AT db_link_name DECLARE cursor_name CURSOR…;
不能在PREPARE、DESCRIBE、OPEN、FETCH、CLOSE中使用AT子句。
可以使用多条EXEC SQL CONNECT AT语句登录到多个数据库上,或为同一个数据库建立多个连接。
解决方案2: 先连接一个,查完在连另一个
以上介绍了“ ProC在一个进程中,如何连接两个数据库啊”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2841551.html