正如标题所说,我如何连接到Oracle的Pro C中的给定数据库? 我不希望连接Oracle数据库,但需要其他数据库。
答案 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)
如果您想使用 oracle-pro-c 连接 oracle-wallet,请在此处提供相关答案。
Connecting to a database in Pro C using Oracle Wallet
有一个钱包效果很好,并为 :userId
和 :userPassword
提供空字符串。
EXEC SQL CONNECT :mptyStr IDENTIFIED BY :mptyStr AT :ORACLE_SID;