c語言怎樣連接資料庫

別胡思亂想了,你都用了微軟的sql server了,用api吧
除非你用sqlite3,用c介面還情有可原

徐琿冠郊普蘆姓祠止鞏郎准贊四煢鄞昶下奘君船

Ⅱ 如何測試sql 2008連接資料庫連接

更改埠
可以配置
tcp/ip
協議以偵聽指定的埠。
默認情況下,資料庫引擎的默認實例偵聽
tcp

1433。
配置資料庫引擎和
sql
server
compact
的命名實例以用於動態埠。這表示這些實例將在
sql
server
服務啟動時選擇一個可用埠。
sql
server
browser
服務可幫助客戶端在連接時識別埠。
配置為使用動態埠後,在每次啟動時
sql
server
使用的埠可能都會發生變化。
如果通過防火牆連接到
sql
server,則必須打開
sql
server
使用的埠。

sql
server
配置為使用特定埠,這樣就可以將防火牆配置為允許與伺服器通信。
有關詳細信息,請參閱配置伺服器以偵聽特定
tcp
埠(sql
server
配置管理器)。
更改命名管道
您可以配置命名管道協議以偵聽指定的命名管道。
默認情況下,sql
server
資料庫引擎的默認實例對默認實例偵聽管道
\\.
\pipe\sql\query,對命名實例偵聽
\\.
\pipe\mssql$
\sql\query。
資料庫引擎只能偵聽一個命名管道,但您可以根據需要將該管道更改為其他名稱。
sql
server
browser
服務可幫助客戶端在連接時識別管道。
有關詳細信息,請參閱配置伺服器以偵聽備用管道(sql
server
配置管理器)。
關於埠的詳細信息請參考下面的官方文檔說明:
http://msdn.microsoft.com/zh-cn/library/ms177440.aspx

Ⅲ 怎麼測試c#連接上了sql server2008資料庫

new
sqlconnection(你的連接字元串).open
看是否報錯。
不報錯就連接上了。

Ⅳ 用c語言怎麼連接資料庫呢

1、配置ODBC數據源。
2、使用SQL函數進行連接。
對於1、配置數據源,配置完以後就可以編程操作資料庫了。
對於2、使用SQL函數進行連接,參考代碼如下:

#include<windows.h>
#include<sql.h>
#include<sqlext.h>
voidmain()
{
HENVhenv;//環境句柄
HDBChdbc;//數據源句柄
HSTMThstmt;//執行語句句柄
unsignedchardatasource[]="數據源名稱";//即源中設置的源名稱
unsignedcharuser[]="用戶名";//資料庫的帳戶名
unsignedcharpwd[]="密碼";//資料庫的密碼
unsignedcharsearch[]="selectxmfromstuwherexh=0";
SQLRETURNretcode;//記錄各SQL函數的返回情況
//分配環境句柄
retcode=SQLAllocEnv(&henv);//等介於SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL
,&henv);
//設置ODBC環境版本號為3.0
retcode=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
//分配連接句柄
retcode=SQLAllocConnect(henv,&hdbc);//等介於SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)
//SQLSetConnectAttr(hdbc,SQL_LOGIN_TIMEOUT,(SQLPOINTER)(rgbValue),0);
//直接連接數據源
//如果是windows身份驗證,第二、三參數可以是
,也可以是任何字串
//SQL_NTS即"
retcode=SQLConnect(hdbc,datasource,SQL_NTS,user,SQL_NTS,pwd,SQL_NTS);
//分配語句句柄
retcode=SQLAllocStmt(hdbc,&hstmt);//等介於SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
//直接執行查詢語句
retcode=SQLExecDirect(hstmt,search,SQL_NTS);
//將數據緩沖區綁定資料庫中的相應欄位(i是查詢結果集列號,queryData是綁定緩沖區,BUFF_LENGTH是緩沖區長度)
SQLBindCol(hstmt,i,SQL_C_CHAR,queryData[i-1],BUFF_LENGTH,0);
//遍歷結果集到相應緩沖區queryData
SQLFetch(hstmt);
/*
*對遍歷結果的相關操作,如顯示等
*/
//注意釋放順序,否則會造成未知錯誤!
SQLFreeHandle(SQL_HANDLE_STMT,hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
SQLFreeHandle(SQL_HANDLE_ENV,henv);
}

Ⅳ 用C語言怎麼實現與資料庫的連接

#include<mysql/mysql.h>

#include<stdio.h>

intmain()

{

MYSQL*conn;

MYSQL_RES*res;

MYSQL_ROWrow;

char*server="localhost";//本地連接

char*user="root";//

char*password="525215980";//mysql密碼

char*database="student";//資料庫名

char*query="select*fromclass";//需要查詢的語句

intt,r;

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))

{

printf("Errorconnectingtodatabase:%s ",mysql_error(conn));

}else{

printf("Connected... ");

}

t=mysql_query(conn,query);

if(t)

{

printf("Errormakingquery:%s ",mysql_error(conn));

}else{

printf("Querymade... ");

res=mysql_use_result(conn);

if(res)

{

while((row=mysql_fetch_row(res))!=NULL)

{

//printf("num=%d ",mysql_num_fields(res));//列數

for(t=0;t<mysql_num_fields(res);t++)

printf("%8s",row[t]);

printf(" ");

}

}

mysql_free_result(res);

}

mysql_close(conn);

return0;

}

(5)c如何測試網路連接資料庫擴展閱讀

C語言使用注意事項:

1、指針是c語言的靈魂,一定要靈活的使用它:

(1)、指針的聲明,創建,賦值,銷毀等

(2)、指針的類型轉換,傳參,回調等

2、遞歸調用也會經常用到:

(1)、遞歸遍歷樹結構

(2)、遞歸搜索

Ⅵ 如何測試伺服器資料庫是否連接成功

1、 安裝資料庫伺服器。如:MS SQL
Server、MySQL、Oracle。我試著裝MS SQL SERVER 2000。

2、
本機測試:A.直接啟動服務管理器看看能否啟動。B.用查詢分析器看看能否連接服務管理器。C.用企業管理器能否啟動連接服務管理器。成功證明本機使用基本無問題。

3、 另機測試:A.能否PING通伺服器IP.。B.用TELNET 伺服器IP
1433查看1433埠能否連接。(當看到「不能打開到主機的連接,在埠1433:連接失敗。」那是最腦火不過的事情了,為了應用程序能遠程連接資料庫,我真吃了不少苦頭)。當然可安裝客戶端工具,如用查詢分析器測試能否連接。

4、 如上三步沒有問題,資料庫伺服器安裝成功了。

Ⅶ c語言如何檢測網路是否連接

1、如果對方斷開連接的話,那麼readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值應該是0,可以根據返回值判斷。
2、recv函數返回值說明
recv函數
int recv( SOCKET s, char FAR *buf, int len, int flags);
不論是客戶還是伺服器應用程序都用recv函數從TCP連接的另一端接收數據。該函數的第一個參數指定接收端套接字描述符; 第二個參數指明一個緩沖區,該緩沖區用來存放recv函數接收到的數據; 第三個參數指明buf的長度; 第四個參數一般置0。
這里只描述同步Socket的recv函數的執行流程。當應用程序調用recv函數時,
(1)recv先等待s的發送緩沖中的數據被協議傳送完畢,如果協議在傳送s的發送緩沖中的數據時出現網路錯誤,那麼recv函數返回SOCKET_ERROR,
(2)如果s的發送緩沖中沒有數據或者數據被協議成功發送完畢後,recv先檢查套接字s的接收緩沖區,如果s接收緩沖區中沒有數據或者協議正在接收數 據,那麼recv就一直等待,直到協議把數據接收完畢。當協議把數據接收完畢,recv函數就把s的接收緩沖中的數據到buf中(注意協議接收到的數據可能大於buf的長度,所以 在這種情況下要調用幾次recv函數才能把s的接收緩沖中的數據完。recv函數僅僅是數據,真正的接收數據是協議來完成的), recv函數返回其實際的位元組數。如果recv在時出錯,那麼它返回SOCKET_ERROR;如果recv函數在等待協議接收數據時網路中斷了,那麼它返回0。 默認 socket 是阻塞的 解阻塞與非阻塞recv返回值沒有區分,都是 <0 出錯 =0 連接關閉 >0 接收到數據大小,
特別:返回值<0時並且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情況下認為連接是正常的,繼續接收。只是阻塞模式下recv會阻塞著接收數據,非阻塞模式下如果沒有數據會返回,不會阻塞著讀,因此需要循環讀取)。
返回說明: 成功執行時,返回接收到的位元組數。另一端已關閉則返回0。失敗返回-1,errno被設為以下的某個值 EAGAIN:套接字已標記為非阻塞,而接收操作被阻塞或者接收超時 EBADF:sock不是有效的描述詞 ECONNREFUSE:遠程主機阻絕網路連接 EFAULT:內存空間訪問出錯 EINTR:操作被信號中斷 EINVAL:參數無效 ENOMEM:內存不足 ENOTCONN:與面向連接關聯的套接字尚未被連接上 ENOTSOCK:sock索引的不是套接字 當返回值是0時,為正常關閉連接;
思考:當對側沒有send,即本側的套接字s的接收緩沖區無數據,返回值是什麼(EAGAIN,原因為超時,待測)

Ⅷ C# 怎麼測試連接資料庫啊

if
(sqlcon.State
==
ConnectionState.Open)
{
來sqlcon.Close();
sqlcon.Dispose();
}
把這段代源碼移到finally,然後就不用else了,Connection用完就關。

Ⅸ Excel 如何測試資料庫連接

Excel程序自帶的外部數據連接功能,可以連接SQL伺服器。具體步驟為:
1、選擇【數據版】選項卡,在【獲取權外部數據】分組,找到【自其他來源】。
2、單擊【自其他來源】按鈕,打開【選擇來源】下拉菜單。
3、選擇【來自SQL Server】打開【數據連接向導】對話框。
4、填寫伺服器名稱、登錄的用戶名及密碼等信息,即可成功連接。