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

linuxc資料庫

發布時間: 2022-05-02 03:15:53

linux下c/c++開發資料庫類的軟體,主流用什麼資料庫

市場上現在應用較多的是:oracle
db2
mysql
sysbase
informix等資料庫
對於在資料庫上做開發,大型資料庫的公司都會提供相應的開發工具:如:
oracle的proc
db2的
db2
informix的esql
不同的資料庫嵌入式c程序名也規定不同,如:
oracle的
.pc
.pcpp
informix的
.ec
.ecpp
db2的
.sqc

總的來說
oracle占的市場份額大一些。

Ⅱ 如何在Linux下用c語言操作資料庫sqlite3

下面我們看看怎麼在C語言中向資料庫插入數據。
好的,我們現編輯一段c代碼,取名為 insert.c
// name: insert.c
// This prog is used to test C/C++ API for sqlite3 .It is very simple,ha !
// Author : zieckey All rights reserved.
// data : 2006/11/18
#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
#define _DEBUG_
int main( void )
{
sqlite3 *db=NULL;
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("zieckey.db", &db); //打開指定的資料庫文件,如果不存在將創建一個同名的資料庫文件
if( rc )
{
fprintf(stderr, "Can't open database: %s
", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else printf("You have opened a sqlite3 database named zieckey.db successfully!
Congratulations! Have fun ! ^-^
");
//創建一個表,如果該表存在,則不創建,並給出提示信息,存儲在 zErrMsg 中
char *sql = " CREATE TABLE SensorData(
ID INTEGER PRIMARY KEY,
SensorID INTEGER,
SiteNum INTEGER,
Time VARCHAR(12),
SensorParameter REAL
);" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
#ifdef _DEBUG_
printf("%s
",zErrMsg);
#endif
//插入數據
sql = "INSERT INTO "SensorData" VALUES( NULL , 1 , 1 , '200605011206', 18.9 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
sql = "INSERT INTO "SensorData" VALUES( NULL , 1 , 1 , '200605011306', 16.4 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
sqlite3_close(db); //關閉資料庫
return 0;
}

好的,將上述代碼寫入一個文件,並將其命名為 insert.c 。
解釋:
sqlite3_exec的函數原型說明如下:
int sqlite3_exec(
sqlite3*,
const char *sql,
sqlite_callback,
void *,
char **errms

g
);

編譯
[root@localhost temp]# gcc insert.c -lsqlite3 -L/usr/local/sqlite3/lib -I/usr/local/sqlite3/include
insert.c:28:21: warning: multi-line string literals are deprecated
[root@localhost temp]#
執行
[root@localhost temp]# ./a.out
./a.out: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory
[root@localhost temp]#
同樣的情況,如上文處理方法:
[root@localhost temp]# export LD_LIBRARY_PATH=/usr/local/sqlite3/lib:$LD_LIBRARY_PATH
[root@localhost temp]# ./a.out
You have opened a sqlite3 database named zieckey.db successfully!
Congratulations! Have fun ! ^-^
(null)
(null)
(null)
[root@localhost temp]#
運行成功了,好了,現在我們來看看是否插入了數據
[root@localhost temp]# /usr/local/sqlite3/bin/sqlite3 zieckey.db
SQLite version 3.3.8
Enter ".help" for instructions
sqlite> select * from SensorData;
1|1|1|200605011206|18.9

2|1|1|200605011306|16.4
sqlite>

Ⅲ 在linux下使用C語言操作資料庫有哪些方法

兩種方法,一是自己設計表格式,並存儲在相應文件中,然後讀取;
第二種,利用已有的第三方哈希表資料庫,比如qdbm,具體的編程可以參考相應資料庫的幫助文檔

Ⅳ 如何在Linux下用C語言操作資料庫sqlite3.pdf

具體步驟是:

  1. 下載 sqlite3 的源碼,好像是 sqlite3.h sqlite3_ext.h 以及 sqlite3.cc

  2. 可以將源碼編譯成庫(靜態庫或者動態庫),或者直接嵌入到工程中參與編譯

資料庫操作的一般流程是:

sqlite3_open()/sqlite3_open_v2() 創建/打開一個資料庫

sqlite3_prepare_v2() 實例化一個 sql statement

sqlite3_bind_XXX()綁定參數

sqlite3_step() 執行 SQL 語句

sqlite3_finalize() 析構 sql statement

sqlite3_close()關閉資料庫


Ⅳ 如何在Linux下用C/C++語言操作資料庫sqlite3

1. 說明 這里我們假設你已經編譯好了sqlite的庫文件 : libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6 pkgconfig 和可執行文件 : sqlite3 我們再假設你的sqlite3的安裝目錄在 /usr/local/sqlite3 目錄下。 如果不是,我們可以這樣做,將你的安裝文件復制到 /usr/local/sqlite3 這個目錄, 這樣我們好在下面的操作中更加統一,從而減少出錯的概率 例如:[root@localhost home]# cp -rf sqlite-3.3.8-ix86/ /usr/local/sqlite3 這里假設 /home/sqlite-3.3.8-ix86/ 是你的安裝目錄,也就是說你的sqlite原來就是安裝在這里 這樣之後,我們的sqlite3的庫文件目錄是:/usr/local/sqlite3/lib 可執行文件 sqlite3 的目錄是: /usr/local/sqlite3/bin 頭文件 sqlite3.h 的目錄是: /usr/local/sqlite3/include 好拉,現在開始我們的Linux下sqlite3編程之旅。 2. 開始 這里我們現在進行一個測試。 現在我們來寫個C/C++程序,調用 sqlite 的 API 介面函數。 下面是一個C程序的例子,顯示怎麼使用 sqlite 的 C/C++ 介面. 資料庫的名字由第一個參數取得且第二個參數或更多的參數是 SQL 執行語句. 這個函數調用sqlite3_open() 在 16 行打開資料庫,並且sqlite3_close() 在 25 行關閉資料庫連接。 [root@localhost temp]# vi opendbsqlite.c 按下i 鍵切換到輸入模式,輸入下列代碼:// name: opendbsqlite.c // This prog is used to test C/C++ API for sqlite3.It is very simple,ha! // Author : zieckey All rights reserved. // data : 2006/11/13 #include #include int main( void ) { sqlite3 *db=NULL; char *zErrMsg = 0; int rc; //打開指定的資料庫文件,如果不存在將創建一個同名的資料庫文件 rc = sqlite3_open("zieckey.db", &db); if( rc ) { fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } else printf("You have opened a sqlite3 database named zieckey.db successfully! Congratulations! Have fun ! ^-^ "); sqlite3_close(db); //關閉資料庫 return 0; } 退出,保存。(代碼輸入完成後,按下 Esc 鍵,然後輸入: :wq ,回車就好拉) 好拉,現在編譯:[root@localhost temp]# gcc opendbsqlite.c -o db.out 或者遇到這樣的問題:[root@localhost temp]# gcc opendbsqlite.c -o db.out opendbsqlite.c:11:21: sqlite3.h: 沒有那個文件或目錄 opendbsqlite.c: In function `main': opendbsqlite.c:19: `sqlite3' undeclared (first use in this function) opendbsqlite.c:19: (Each undeclared identifier is reported only once opendbsqlite.c:19: for each function it appears in.) opendbsqlite.c:19: `db' undeclared (first use in this function) 這是由於沒有找到頭文件的原因。 也許會碰到類似這樣的問題:[root@localhost temp]# gcc opendbsqlite.c -o db.out /tmp/ccTkItnN.o(.text+0x2b): In function `main': : undefined reference to `sqlite3_open' /tmp/ccTkItnN.o(.text+0x45): In function `main': : undefined reference to `sqlite3_errmsg' /tmp/ccTkItnN.o(.text+0x67): In function `main': : undefined reference to `sqlite3_close' /tmp/ccTkItnN.o(.text+0x8f): In function `main': : undefined reference to `sqlite3_close' collect2: ld returned 1 exit status 這是個沒有找到庫文件的問題。 下面我們著手解決這些問題。

Ⅵ linux c連接sybase資料庫時freetds庫應該怎麼配置

1.想在linux連接sybase資料庫
用命令isql
2.isql命令的使用
簡單版本
isql
-U
aaa
-P
aaa
-U
用戶名
-P表示密碼
這樣訪問的是本地的資料庫
復雜點的使用
isql
-U
aaa
-P
aaa
-H
192.168.100.54:4205
-D
staticdb
-S
bjtxsyb
-U
和-P和前面意思一樣
-H表示遠程主機IP和埠
-D表示資料庫名
-S
服務名字
這個命令用於連接遠程的資料庫
3.登錄後就可直接輸入標准sql了
本來想貼圖的
公司網太卡
就之粘點文本了
[omc@svr905
omc]$
isql
-U
aaa
-P
aaa
-H
192.168.100.54:4205
-D
staticdb
-S
bjtxsyb
1>
select
*
from
test
2>
4.想執行輸入的sql命令
用關鍵字go
再按enter就出數據拉
[omc@svr905
omc]$
isql
-U
aaa
-P
aaa
-H
192.168.100.54:4205
-D
staticdb
-S
bjtxsyb
1>
select
*
from
test
2>go
3>

Ⅶ linux下用c語言操作mysql資料庫。

不好意思,沒看見標題,我寫的是
腳本語言
我把你說的buff當成一個文件了
ID=`sed
-n
'1p'
buff
|
awk
'{printf
$1}'`
NAME=`sed
-n
'1p'
buff
|
awk
'{printf
$2}'`
SCORE=`sed
-n
'1p'
buff
|
awk
'{printf
$3}'`
mysql_query(conn_ptr,"INSERT
INTO
student(id,name,score)
values('$ID','$NAME','$SCORE')");

Ⅷ linux c怎麼使用mysql資料庫

1. 通過調用mysql_library_init(),初始化MySQL庫。庫可以是mysqlclient C客戶端庫,或mysqld嵌入式伺服器庫,具體情況取決於應用程序是否與「-libmysqlclient」或「-libmysqld」標志鏈接。
2. 通過調用mysql_init()初始化連接處理程序,並通過調用mysql_real_connect()連接到伺服器。
3. 發出SQL語句並處理其結果。(在下面的討論中,詳細介紹了使用它的方法)。
4. 通過調用mysql_close(),關閉與MySQL伺服器的連接。
5. 通過調用mysql_library_end(),結束MySQL庫的使用。

Ⅸ linux c 怎麼樣和資料庫

開啟MySQL服務後,使用MySQL命令可以登錄。一般使用mysql -uroot -p即可。如果資料庫不是本機,則需要加參數,常用參數如下:

1,-h,指定ip地址,默認為localhost

2,-u,指定用戶名。

3,-p,指定密碼,密碼可以接在-p後面輸入mysql -uroot -p123456。也也可以mysql -uroot -p回車等提示輸入密碼時輸入,這樣輸入密碼沒有回顯。

熱點內容
檢查電腦與伺服器的連通性和路徑 發布:2024-10-06 01:37:38 瀏覽:431
宋春麗訪問 發布:2024-10-06 01:34:23 瀏覽:676
美國往事ftp 發布:2024-10-06 01:29:03 瀏覽:771
dtu編程 發布:2024-10-06 01:23:30 瀏覽:594
照片視頻加密 發布:2024-10-05 23:58:58 瀏覽:479
北京java培訓班多少錢 發布:2024-10-05 23:49:03 瀏覽:814
subversion源碼安裝 發布:2024-10-05 23:48:17 瀏覽:122
ipad文件怎麼解壓縮 發布:2024-10-05 23:06:28 瀏覽:166
存儲伺服器主控晶元 發布:2024-10-05 23:04:33 瀏覽:574
php學徒 發布:2024-10-05 23:04:30 瀏覽:443