当前位置:首页 » 编程语言 » c语言连接oracle

c语言连接oracle

发布时间: 2022-07-10 17:30:11

A. 有关c语言的proc连接oracle数据库的问题

在main.pc的insert 函数前加上extern


extern void insert (char password_[6],char id_[20],int balance_);

B. C语言的程序怎么连接甲骨文数据库

一般C语言连接oracle数据库通过使用oracle提供的OCI接口和PROC编程接口两种方式。
OCI方式纯粹是一些函数接口。
PROC是oracle提供的一种C与ORACLE sql的混合编程。程序(以.pc为后缀)编好之后,使用oracle提供的proc预编译程序,将pc文件编译成c文件(这一过程,相当于将SQL转换为OCI的接口),然后再使用c语言编译器生成可以执行文件。
OCI方式不容易入门,它拥有大量的接口函数,要很快熟悉它,非常难。但OCI方式的编程效率很高。
porc方式简单易用。可用于对性能要求不太高的项目。

C. C语言用oci连oracle到底是怎么样的一个机制

c语言使用oci连接oracle的程序就是常说的pro*C,就是在C程序中内置sql实现一定得功能,当然既然是sql的话就需要连接数据库,连接数据库就有远程和本地的区别,而远程如果使用OCI自然要通过客户端这是避免不了的。在实际开发中一般把pro*C放到服务器上供别的程序调用。
如果不想这样,使用odbc连接可以省去安装客户端的烦恼,但是安装odbc驱动是必须的。

D. 怎么把C语言和Oracle11g连接在一起

有三种办法:
1、用ODBC,安装ODBC驱动,使用微软提供的ODBC的API访问数据库;
2、用ORACLE提供的OCI API调用方式;
3、用ORACLE提供的PRO C方式。
如果你熟悉SQL,建议用方式3,如果熟悉ODBC,建议用方式1,方式2比较麻烦些。
以下代码是我用PRO C编写的,供参考:
int ProcConnect(char * sDatabaseName,char * sUserName, char * sPassword)
{
EXEC SQL CONNECT :sUserName IDENTIFIED BY :sPassword USING :sDatabaseName;
if(DBError("Connect Database failed.")) return FALSE;
else return TRUE;
}
/*===========================================================================*/
void ProcCommit()
{
EXEC SQL COMMIT;
}
/*===========================================================================*/
void ProcCommitRelease()
{
EXEC SQL COMMIT RELEASE;
}
/*===========================================================================*/
void ProcRollback()
{
EXEC SQL ROLLBACK;
}
/*===========================================================================*/
void ProcRollbackRelease()
{
EXEC SQL ROLLBACK RELEASE;
}
/*===========================================================================*/
int DBError(char * sMsg)
{
char sErrMsg[1024];
int nRetCode;

size_t szBuf_len, szMsg_len;

if (sqlca.sqlcode >= 0) return FALSE;
szBuf_len = sizeof(sErrMsg);
sqlglm(sErrMsg, &szBuf_len, &szMsg_len);
sErrMsg[szMsg_len] = 0;
sprintf(sDBErrorBuff,"\r\nSQL DBError point:%s", sMsg);
sprintf(sDBErrorBuff+strlen(sDBErrorBuff),"\r\nsqlcode = %d,%s\r\n", sqlca.sqlcode, rTrim(sErrMsg));
if(OraDBDisconnected)
{
printf("The DBConnection was broken!\r\n");
exit(-1);
}
else nRetCode = TRUE;
printf("%s\r\n",sDBErrorBuff);
return nRetCode;
}

E. C语言程序连接oracle数据库高可用报ora03115错

可以的。
OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(DennisMacAlistairRitchie)以肯尼斯·蓝·汤普森(KennethLaneThompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSIC”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。

F. 如何利用C语言,oracle数据库开发出一个进销存系统

这个涉及到数据结构和数据库知识。
要在C语言中设计好数据的结构体,然后熟悉文件的读写操作。将文件保存成数据库可以识别的文件格式才行。
或者直接在ORACLE里面建立数据源,然后阅读一些oracle的数据操纵语言,通过C的一些编译器来连接数据库,设定数据源。
所以在下还是建议你看看oracle与C语言的访问书籍。

G. 如何利用C语言,oracle数据库开发出一个进销存系统

这个涉及到数据结构和数据库知识。要在C语言中设计好数据的结构体,然后熟悉文件的读写操作。将文件保存成数据库可以识别的文件格式才行。或者直接在ORACLE里面建立数据源,然后阅读一些oracle的数据操纵语言,通过C的一些编译器来连接数据库,设定数据源。可以看看oracle与C语言的访问书籍。

H. c语言程序通过ODBC连接Oracle数据库

参考答案: 东飞伯劳西飞燕,黄姑织女时相见。

I. c语言访问oracle数据库有几种方式,哪种最好

SQL SERVER连接oracle数据库几种方法--1 方式 --查询oracle数据库中的表 SELECT * FROM OPENDATASOURCE( 'MSDAORA', 'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN' )..

J. c连接oracle数据库的连接语句

连接代码如下:
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;
}

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:234
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726