Database相关概念
连接数据库
完整的CONNECT语句如下:
EXEC SQL CONNECT { :user IDENTIFIED BY :oldpswd | :usr_psw }
[[ AT { dbname | :host_variable }] USING :connect_string ]
[ {ALTER AUTHORIZATION :newpswd | IN { SYSDBA | SYSOPER } MODE} ] ;
Pro*c/C++程序必须先链接数据库,简单的连接语句如下,其中username和password可以是char或者varchar的宿主变量
EXEC SQL CONNECT :username IDENTIFIED BY :password ;
或者可以如下,其中usr_pwd是用户名/密码 的形式
EXEC SQL CONNECT :usr_pwd;
可以先定义字符类型或者VARCHAR类型的 username和password 的宿主变量,用在CONNECT语句中,不能直接使用单引号引用起来的字符常量用在CONNECT语句中。
以下是正确用法:
char *username = "SCOTT";
char *password = "TIGER";
...
EXEC SQL WHENEVER SQLERROR ...
EXEC SQL CONNECT :username IDENTIFIED BY :password;
下面是错误的用法:
EXEC SQL CONNECT SCOTT IDENTIFIED BY TIGER;
EXEC SQL CONNECT 'SCOTT' IDENTIFIED BY 'TIGER';
CONNECT中修改密码
EXEC SQL CONNECT .. ALTER AUTHORIZATION :newpswd;
使用newpswd连接数据库,如果密码错误,密码不会修改