當前位置:首頁 » 操作系統 » c操作oracle資料庫

c操作oracle資料庫

發布時間: 2023-01-31 16:50:05

A. 用CDatabase中OpenEx直接連接Oracle資料庫,連接字元串該怎麼寫

資料庫編程的思路都是一致的:打開資料庫連接-》執行sql語句-》獲得查詢結果-》關閉資料庫連接,不同的資料庫訪問技術有不同的要求,比如用C API詰問MySql資料庫的時候還得釋放查詢結果集。
ODBC訪問資料庫得配置數據源

配置ODBC數據源:打開控制面板下的「數據源」,彈出「ODBC數據源管理器」,選擇DSN選項卡-》添加->你選擇你的SQL Server選項,單擊完成。如圖然後你再按照向導提示添加。

代碼中用ODBC訪問資料庫你得加上afxdb.h頭文件,
用CDataBase 類連接資料庫、CRecordSet類查詢記錄。
現在在VC訪問資料庫常用的是ADO訪問,你可以找一下我前面的回答有ADO訪問資料庫的步驟。

CDataBase m_cODBCDb;
用CDataBase類的OpenEx()函數打開資料庫連接。連接字元串你自己構造一下。
定義一個與上面資料庫相關的查詢對象
CRecordSet m_cODBCRec(&m_cODBCDb);
用這個查詢對象的open方法就可以執行SQL語句與資料庫交互了;

現在用VC、MFC訪問資料庫常用的技術是ADO,學學這個吧。難點、但很實用!

導入ADO庫
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF")
2、用導入的動態庫的指針操作資料庫.
打開資料庫連接
_ConnectionPtr m_pConn; // 資料庫連接指針
// 創建Conneciton對象
m_pConn.CreateInstance(_T("ADODB.Connection"));
用ConnectionPtr 的open方法m_pConn->Open(_bstr_t(m_sConn),
_T(""), _T(""), lOptions));
m_sConn為你連接資料庫的信息,你應該按照你的要求打開資料庫

然後你用打開的那個連接進行操作資料庫。比如
_RecordsetPtr pRec = m_pConn->Execute(_bstr_t(pszSql), NULL, CmdText);
pszSql 就你要操作資料庫的SQL語句。在這個SQL語句里你可以創建表、更新表等。

用ADO訪問的時候要求初始他COM庫和釋放COM對象
// 初始化COM環境(庫)
::CoInitialize(NULL);
//釋放COM對象
::CoUninitialize();

B. C#如何無客戶端連接Oracle資料庫

oracle不能無客戶端連接的,其實sqlserver也不是沒有客戶端,早期的版本也是要安裝sqlserver客戶端的,後來因為ms在pc系統的絕對統治地位,他吧sqlserver客戶端的功能做到操作系統里了
如果你需要的是在C/S架構下,客戶端電腦不安裝oracle資料庫客戶端,就實現資料庫交互的解決方案,可以使用webservice或者wcf等技術提供服務,無就是C/S中的S端訪問資料庫,這樣只需要在你的前置伺服器(S端)上安裝一次oracle客戶端 ,就可以了,客戶端(C端)不安裝oracle客戶端,數據交互都交給服務端去操作,客戶端值實現數據展示和服務請求就可以簡化客戶端部署的工作了

C. 如何利用c語言,oracle資料庫開發出一個進銷存系統

這個涉及到數據結構和資料庫知識。要在C語言中設計好數據的結構體,然後熟悉文件的讀寫操作。將文件保存成資料庫可以識別的文件格式才行。或者直接在ORACLE裡面建立數據源,然後閱讀一些oracle的數據操縱語言,通過C的一些編譯器來連接資料庫,設定數據源。可以看看oracle與C語言的訪問書籍。

D. c連接oracle資料庫的連接語句

我只會在unix下面寫,嘿嘿win的我還不會呢。。
把代碼貼上。至於怎麼
編譯,再查查吧~
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;
}

E. 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;
}

############################################

F. LINUX C/C++用什麼連接oracle資料庫啊解決辦法

在Windows的控制面板中,查找ODBC數據源,配置一個能夠連接Oracle的數據源,並測試能夠成功連接。然後在VS中連接這個數據源即可。

G. 有關c語言的proc連接oracle資料庫的問題

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


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

H. C#中如何把Oracle資料庫查詢的結果集返回

1、首先通過DLL方式進行連接資料庫, 也是一個比較通用的方式,項目引入後,即可使用,非常方便,使用之前如有把封裝的DLL文件引入自己的項目中,項目里就可以直接調用。

I. 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;
}

熱點內容
怎麼設置密碼oppo 發布:2025-07-13 23:07:25 瀏覽:993
五鋪編程 發布:2025-07-13 23:06:35 瀏覽:530
linux部署windows 發布:2025-07-13 22:53:37 瀏覽:263
c語言printf函數用法 發布:2025-07-13 22:53:30 瀏覽:293
壓縮蘿卜干 發布:2025-07-13 22:52:01 瀏覽:672
為什麼dns一直配置錯誤 發布:2025-07-13 22:43:06 瀏覽:258
fortran如何編譯 發布:2025-07-13 22:31:05 瀏覽:480
sql語句查詢欄位 發布:2025-07-13 22:24:20 瀏覽:632
python目錄遍歷 發布:2025-07-13 22:16:24 瀏覽:96
賣房說解壓 發布:2025-07-13 22:06:49 瀏覽:216