1、確定目標(biāo)Sqlserver是否允許遠(yuǎn)程訪問
創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)站營銷推廣,域名與空間,雅安服務(wù)器托管,網(wǎng)站托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系創(chuàng)新互聯(lián)公司。
2、確定目標(biāo)SqlServer服務(wù)端口是否是默認(rèn)端口
3、檢查數(shù)據(jù)庫名稱、密碼什么是否正確
如何連接sqlserver數(shù)據(jù)庫
以sqlserver2008R2為例。
1、打開sql2008,使用windows身份登錄
2、登錄后,右鍵選擇“屬性”。左側(cè)選擇“安全性”,選中右側(cè)的“SQL Server 和 Windows 身份驗(yàn)證模式”以啟用混合登錄模式
3、選擇“連接”,勾選“允許遠(yuǎn)程連接此服務(wù)器”,然后點(diǎn)“確定”
4、展開“安全性”,“登錄名”;“sa”,右鍵選擇“屬性”
5、左側(cè)選擇“常規(guī)”,右側(cè)選擇“SQL Server 身份驗(yàn)證”,并設(shè)置密碼
6、右擊數(shù)據(jù)庫選擇“方面”
7、在右側(cè)的方面下拉框中選擇“服務(wù)器配置”;將“RemoteAccessEnabled”屬性設(shè)為“True”,點(diǎn)“確定”
8、至此SSMS已設(shè)置完畢,先退出,再用sa登錄,成功即表示sa帳戶已經(jīng)啟用
9、打開sql server配置管理器
10、下面開始配置SSCM,選中左側(cè)的“SQL Server服務(wù)”,確保右側(cè)的“SQL Server”以及“SQL Server Browser”正在運(yùn)行
11、在左則選擇sql server網(wǎng)絡(luò)配置節(jié)點(diǎn)下的sqlexpress的協(xié)議,在右側(cè)的TCP/IP默認(rèn)是“否”,右鍵啟用或者雙擊打開設(shè)置面板將其修改為“是”
12、選擇“IP 地址”選項(xiàng)卡,設(shè)置TCP的端口為“1433”
13、將"客戶端協(xié)議"的"TCP/IP"也修改為“Enabled”
配置完成,重新啟動(dòng)SQL Server 2008。此時(shí)應(yīng)該可以使用了,但是還是要確認(rèn)一下防火墻。打開防火墻設(shè)置。將SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允許的列表中。
打開sql2008,使用windows身份登錄。
登錄后,右鍵選擇“屬性”。左側(cè)選擇“安全性”,選中右側(cè)的“SQL Server 和 Windows 身份驗(yàn)證模式”以啟用混合登錄模式。
選擇“連接”,勾選“允許遠(yuǎn)程連接此服務(wù)器”,然后點(diǎn)“確定”。
展開“安全性”,“登錄名”;“sa”,右鍵選擇“屬性”。
左側(cè)選擇“常規(guī)”,右側(cè)選擇“SQL Server 身份驗(yàn)證”,并設(shè)置密碼。
右擊數(shù)據(jù)庫選擇“方面”。
在右側(cè)的方面下拉框中選擇“服務(wù)器配置”;將“RemoteAccessEnabled”屬性為“True”,點(diǎn)“確定”。
至此SSMS已設(shè)置完畢,先退出,再用sa登錄,成功即表示sa帳戶已經(jīng)啟用。
打開sql server配置管理器。
下面開始配置SSCM,選中左側(cè)的“SQL Server服務(wù)”,確保右側(cè)的“SQL Server”以及“SQL Server Browser”正在運(yùn)行
在左則選擇sql server網(wǎng)絡(luò)配置節(jié)點(diǎn)下的sqlexpress的協(xié)議,在右側(cè)的TCP/IP默認(rèn)是“否”,右鍵啟用或者雙擊打開設(shè)置面板將其修改為“是”
選擇“IP 地址”選項(xiàng)卡,設(shè)置TCP的端口為“1433”
將"客戶端協(xié)議"的"TCP/IP"也修改為“Enabled”
配置完成,重新啟動(dòng)SQL Server 2008。此時(shí)應(yīng)該可以使用了,但是還是要確認(rèn)一下防火墻。
打開防火墻設(shè)置。將SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允許的列表中。
//?TestADOSql.cpp?:?定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
//
#include?"stdafx.h"
#include?"iostream"??
#include?"string"??
#include?"vector"??
//步驟1:添加對(duì)ADO的支持
#import?"C:\Program?Files\Common?Files\System\ado\msado15.dll"?no_namespace?rename("EOF","adoEOF")??
using?namespace?std;
int?_tmain(int?argc,?_TCHAR*?argv[])
{
CoInitialize(NULL);?//初始化COM環(huán)境???????????
_ConnectionPtr?pMyConnect(__uuidof(Connection));//定義連接對(duì)象并實(shí)例化對(duì)象?
_RecordsetPtr?pRst(__uuidof(Recordset));//定義記錄集對(duì)象并實(shí)例化對(duì)象???????????????
try???????????
{??????????????
//步驟2:創(chuàng)建數(shù)據(jù)源連接
/*打開數(shù)據(jù)庫“SQLServer”,這里需要根據(jù)自己PC的數(shù)據(jù)庫的情況?*/?????????????
pMyConnect-Open("Provider=SQLOLEDB;?Server=.;Database=AIS2;?uid=sa;?pwd=;","","",adModeUnknown);???????????
}?
catch?(_com_error?e)???????????
{???????????????
cout"Initiate?failed!"endl;???????????????
coute.Description()endl;???????????????
coute.HelpFile()endl;???????????????
return?0;???????????
}???????????
cout"Connect?succeed!"endl;?????????????????
//步驟3:對(duì)數(shù)據(jù)源中的數(shù)據(jù)庫/表進(jìn)行操作
try???????????
{
pRst?=?pMyConnect-Execute("select?*?from?gendat",NULL,adCmdText);//執(zhí)行SQL:?select?*?from?gendat??????????
if(!pRst-BOF)?
{
pRst-MoveFirst();?
}???????????????
else
{????????????????????
cout"Data?is?empty!"endl;?????????????????????
return?0;????????????????
}???????????????
vector_bstr_t?column_name;??????
/*存儲(chǔ)表的所有列名,顯示表的列名*/???????????????
for(int?i=0;?i?pRst-Fields-GetCount();i++)???????????????
{????????????????????
coutpRst-Fields-GetItem(_variant_t((long)i))-Name"?";????????????????????
column_name.push_back(pRst-Fields-GetItem(_variant_t((long)i))-Name);???????????????
}???
coutendl;
/*對(duì)表進(jìn)行遍歷訪問,顯示表中每一行的內(nèi)容*/???????????????
while(!pRst-adoEOF)???????????????
{????????????????????
vector_bstr_t::iterator?iter=column_name.begin();????????????????????
for(iter;iter!=column_name.end();iter++)????????????????????
{?????????????????????????
if(pRst-GetCollect(*iter).vt?!=VT_NULL)?????????????????????????
{??
cout(_bstr_t)pRst-GetCollect(*iter)"?";?????????????????????????
}?????????????????????????
else
{
cout"NULL"endl;??
}??????????????????
}
pRst-MoveNext();???????????????????
coutendl;??????????????
}???????????
}
catch(_com_error?e)???????????
{???????????????
coute.Description()endl;???????????????
coute.HelpFile()endl;???????????????
return?0;??????????
}??
//步驟4:關(guān)閉數(shù)據(jù)源
/*關(guān)閉數(shù)據(jù)庫并釋放指針*/????????
try???????????
{???????????????
pRst-Close();?????//關(guān)閉記錄集???????????????
pMyConnect-Close();//關(guān)閉數(shù)據(jù)庫???????????????
pRst.Release();//釋放記錄集對(duì)象指針???????????????
pMyConnect.Release();//釋放連接對(duì)象指針
}
catch(_com_error?e)???????????
{???????????????
coute.Description()endl;???????????????
coute.HelpFile()endl;???????????????
return?0;???????????
}??????????????????
CoUninitialize();?//釋放COM環(huán)境
return?0;
}
using (SqlConnection cn = new SqlConnection("Data Source=(local);Initial Catalog=xxx;User ID=sa;Password=sa"))
{
try
{
cn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText = "select * from tablename";
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
...
}
dr.Close();
dr=null;
}
catch
{
MessageBox.Show("連接數(shù)據(jù)庫失敗!");
}
}
當(dāng)前題目:c連接sqlserver,c連接sqlserver數(shù)據(jù)庫ODBC
網(wǎng)頁鏈接:http://sd-ha.com/article28/dsihocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、面包屑導(dǎo)航、微信公眾號(hào)、網(wǎng)站策劃、品牌網(wǎng)站制作、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)