c数据库oracle数据库连接
A. 怎么把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;
}
B. windows系统下,c如何连接oracle数据库
首先,这类问题应该问到编程区去,这是软件喔
########insert.pc############
#include <stdio.h>
EXEC SQL INCLUDE SQLCA;
void insert (char password_[6],char id_[20],int balance_)
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR user[20],pass[20],tnsname[20];
char password[6];
char id[20];
int balance;
EXEC SQL END DECLARE SECTION;
strcpy(user.arr,"scott");
user.len=(unsigned short)strlen((char *)user.arr);
strcpy(pass.arr,"tiger");
pass.len=(unsigned short)strlen((char *)pass.arr);
strcpy(tnsname.arr,"demo1");
tnsname.len=(unsigned short)strlen((char *)tnsname.arr);
strcpy(id,id_);
strcpy(password,password_);
balance = balance_;
EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;
EXEC SQL insert into bank_bingo values (:id , :password , :balance);
EXEC SQL COMMIT WORK;
EXEC SQL commit work release;
}
#################main.c####################
#include <stdio.h>
extern void insert (char password_[6],char id_[20],int balance_);
int main(int argc , char ** argv){
char id [20] = "10001";
char password[6] = "123";
int balance = 10000;
insert(password , id , balance);
return 0;
}
############################################
C. 怎么连接oracle数据库服务器
前提是电脑必须安装oracle客户端。
配置方法:
1、找到oracle的安装目录。如:C:\oracle\proct\10.2.0\db_1\network\ADMIN
2、找到tnsnames.ora文件。
3、用文本方式打开,添加以下内容:
本地实例名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 远程服务器端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 远程数据库服务名)
)
)
其中中文部分是需要修改的部分,除第一个“本地实例名”外,其他需要跟远程数据库管理员咨询,本地实例名就是方便自己识别数据库的一个名字,可以自定义。
4、然后打开pl/sql就能看到自己创建的链接,如图:
D. 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”。
E. LINUX C/C++用什么连接oracle数据库啊解决办法
在Windows的控制面板中,查找ODBC数据源,配置一个能够连接Oracle的数据源,并测试能够成功连接。然后在VS中连接这个数据源即可。