int main()
{
EXEC SQL BEGIN DECLARE SECTION
char oc_passwd[101] /*数据库密码*/
char oc_userid[101] /*数据库用户名*/
char oc_dbname[101] /*数据库名*/
char oc_coad[101]
EXEC SQL END DECLARE SECTION
memset(oc_passwd, 0x00, sizeof(oc_passwd))
memset(oc_userid, 0x00, sizeof(oc_userid))
memset(oc_dbname, 0x00, sizeof(oc_dbname))
/*取数据库用户名*/
strcpy(oc_userid, "userid")
/*取数据库用户密码*/
strcpy(oc_passwd, "passwd")
/*取数据库名*/
strcpy(oc_dbname, "dbname")
EXEC SQL CONNECT :oc_userid
IDENTIFIED BY :oc_passwd
USING :oc_dbname
if (sqlca.sqlcode != 0)
{
printf("用户名[%s]密码[%s]数据库[%s]\n", oc_userid, oc_passwd, oc_dbname)
printf("连接数据库失败,sqlcode=%d\n", sqlca.sqlcode)
return -1
}
/*读table取coad字段*/
memset(oc_coad, 0x00, sizeof(oc_coad))
EXEC SQL SELECT coad
INTO :oc_coad
FROM table
WHERE 1=1
if (sqlca.sqlcode == NORECORD)
{
printf("查询无记录\n")
return -1
}
else if (sqlca.sqlcode != 0)
{
printf("查询失败,sqlcode=%d\n", sqlca.sqlcode)
return -1
}
return 0
}
可以的。OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(DennisMacAlistairRitchie)以肯尼斯·蓝·汤普森(KennethLaneThompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSIC”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。
一般C语言连接oracle数据库通过使用oracle提供的OCI接口和PROC编程接口两种方式。OCI方式纯粹是一些函数接口。
PROC是oracle提供的一种C与ORACLE SQL的混合编程。程序(以.pc为后缀)编好之后,使用oracle提供的proc预编译程序,将pc文件编译成c文件(这一过程,相当于将SQL转换为OCI的接口),然后再使用c语言编译器生成可以执行文件。
OCI方式不容易入门,它拥有大量的接口函数,要很快熟悉它,非常难。但OCI方式的编程效率很高。
porc方式简单易用。可用于对性能要求不太高的项目。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)