如何使用Pro * C连接数据库?

时间:2011-01-28 06:34:58

标签: c oracle oracle-pro-c

正如标题所说,我如何连接到Oracle的Pro C中的给定数据库? 我不希望连接Oracle数据库,但需要其他数据库。

3 个答案:

答案 0 :(得分:3)

您在C代码中使用exec sql connect语句:

EXEC SQL CONNECT :myUserId IDENTIFIED BY :myPassword;

如果要连接到非Oracle数据库,则可能必须使用命令的at版本:

EXEC SQL CONNECT :myUserId IDENTIFIED BY :myPassword AT :myDbName;

并在Oracle中设置数据库链接,以便它可以将请求传递给其他DBMS。

像DB2这样的DBMS提供透明网关,可以为您提供这种便利,而无需通过ODBC。这取决于您定位的DBMS,以及如何设置它。

答案 1 :(得分:1)

从可用文档here以及更详细here看来,您可以直接在代码中嵌入CONNECT语句。

引用第一篇文章,简化的连接语句将是:

EXEC SQL CONNECT { :user IDENTIFIED BY :oldpswd | :usr_psw }
   [[ AT { dbname | :host_variable }] USING :connect_string ]
      [ {ALTER AUTHORIZATION :newpswd  |  IN { SYSDBA | SYSOPER } MODE} ] ;

答案 2 :(得分:0)

如果您想使用 连接 ,请在此处提供相关答案。

Connecting to a database in Pro C using Oracle Wallet

有一个钱包效果很好,并为 :userId:userPassword 提供空字符串。

EXEC SQL CONNECT :mptyStr IDENTIFIED BY :mptyStr AT :ORACLE_SID;