/*
* 该功能主要是演示,同时连接两个并发的数据库
*/
/* 包含C头文件 */
#include
#include
#include
/* 包含SQLCA头文件 */
EXEC SQL INCLUDE sqlca;
EXEC SQL INCLUDE sqlda;
int main()
{
EXEC SQL BEGIN DECLARE SECTION;
int money;
char answerbuff[200];
int flag;
EXEC SQL END DECLARE SECTION;
/*
* 定义输入宿主变量:接收用户名、口令和网络服务名
*
*/
char username[10],password[10],server[10], conn_var[20];
strcpy(username,"data_center");
strcpy(password,"data_center");
strcpy(server,"oradf1"); /*这里填写的是数据库的SID*/
strcpy(conn_var,"llcore");
/* 连接到默认数据库 */
EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server;
if (sqlca.sqlcode==0)
printf("默认连接成功!/n");
else
/* 显示连接错误消息 */
printf("%.*s/n", sqlca.sqlerrm.sqlerrml,
sqlca.sqlerrm.sqlerrmc);
/*断开数据库连接*/
EXEC SQL COMMIT RELEASE;
printf("断开连接!/n");;
/* 连接到非默认数据库 */
/*这里有两种连接方式,只取一种和默认的方式保持一致辞*/
EXEC SQL CONNECT :username IDENTIFIED BY :password AT:conn_var USING :server;
if (sqlca.sqlcode==0)
printf("非默认连接成功!/n");
else
/* 显示连接错误消息 */
printf("%.*s/n", sqlca.sqlerrm.sqlerrml,
sqlca.sqlerrm.sqlerrmc);
/*断开数据库连接*/
EXEC SQL COMMIT RELEASE;
printf("断开连接!/n");
}
并发连接是指在同一个数据库应用程序中建立并使用多外数据库连接。使用并发连接时,不同连接之间按此独立,不同连接的SQL语句、事务操作彼此独立,没有任何关系。
数据库链包括公用数据库链和私有数据库链。
CREATE PUBLIC DATABASE LINK
CREATE DATABASE LINK
在PC源程序中建立数据库链,用如下语句:
EXEC SQL CREATE DATABASE LINK 名称 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘表名’;