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中連接這個數據源即可。