c連接sqlserver2008資料庫
打開sql2008,使用windows身份登錄。
登錄後,右鍵選擇「屬性」。左側選擇「安全性」,選中右側的「SQL Server 和 Windows 身份驗證模式」以啟用混合登錄模式。
選擇「連接」,勾選「允許遠程連接此伺服器」,然後點「確定」。
展開「安全性」,「登錄名」旅薯頃;「sa」,右鍵選擇「屬性」。
左側選擇「常規」,右側選擇「SQL Server 身份驗證」,並設置密碼。
右擊資料庫選擇「方面」。
在右側的方面下拉框中選擇「伺服器配置」;將「RemoteAccessEnabled」屬性為「True」,點「確定」。
至此SSMS已設置完畢,先退出,再用sa登錄,成功即表示sa帳戶已經啟用。
打開sql server配置管理器。
下面開始配置SSCM,選中左側的「SQL Server服務」,確保右側的「SQL Server」以及「SQL Server Browser」正在運行
在左則選擇sql server網路配置節點下的sqlexpress的協議,在右側的TCP/IP默認是「否」,右鍵啟用或者雙擊打開設置面板將其修改為「是」
選擇「IP 地址」選項卡,手團設置TCP的埠為「1433」
將"客戶端協議"拆陸的"TCP/IP"也修改為「Enabled」
配置完成,重新啟動SQL Server 2008。此時應該可以使用了,但是還是要確認一下防火牆。
打開防火牆設置。將SQLServr.exe(C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLBinnsqlservr.exe)添加到允許的列表中。
❷ Visual C++如何連接SQL Server 2008 資料庫
用ADO方式連接的話,可以分四個步驟:
1、添加對ADO的支持;
2、創建一個數據源連接;
3、對數據源中的資料庫進行操作;
4、關閉數據源。
代碼如下所示:
//TestADOSql.cpp:定義控制台應用程序的入口點。
//
#include"stdafx.h"
#include"iostream"
#include"string"
#include"vector"
//步驟1:添加對ADO的支持
#import"C:.dll"no_namespacerename("EOF","adoEOF")
usingnamespacestd;
int_tmain(intargc,_TCHAR*argv[])
{
CoInitialize(NULL);//初始化COM環境
_ConnectionPtrpMyConnect(__uuidof(Connection));//定義連接對象並實例化對象
_RecordsetPtrpRst(__uuidof(Recordset));//定義記錄集對象並實例化對象
try
{蠢州
//步驟2:創建數據源連接
/*打開資料庫「SQLServer」,這里需要根據自己PC的資料庫的情況*/
pMyConnect->Open("Provider=SQLOLEDB;Server=.;Database=AIS2;uid=sa;pwd=;","","",adModeUnknown);
}
catch(_com_error&e)
{
cout<雀檔枝<"Initiatefailed!"<<endl;
cout<<e.Description()<<endl;
cout<<e.HelpFile()<<endl;
return0;
}
cout<<"Connectsucceed!"<<endl;
//步驟3:對數據源中的資料庫/表進行操作
try
{
pRst=pMyConnect->Execute("select*fromgendat",NULL,adCmdText);//執行SQL:select*fromgendat
if(!pRst->BOF)
{
pRst->MoveFirst();
}
else
{
cout<<"Dataisempty!"<<endl;
return0;
}
vector<_bstr_t>column_name;
/*存儲表的所有列名,顯示表的列名*/
for(inti=0;i<pRst->Fields->GetCount();i++)
{
cout<<pRst->Fields->GetItem(_variant_t((long)i))->Name<<"";
column_name.push_back(pRst->Fields->GetItem(_variant_t((long)i))->Name);
}
cout<<endl;
/*對表進行遍歷訪問,顯示表中每一行的內容*/
while(!pRst->adoEOF)
{
vector<_bstr_t>::iteratoriter=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();
cout<<endl;
}
}
catch(_com_error&e)
{
cout<<e.Description()<<endl;
cout<<e.HelpFile()<<endl;
return0;
}
//步驟4:關閉數據源
/*關閉資料庫並釋放指針*/
try
{
pRst->Close();//關閉記錄集
pMyConnect->Close();//關閉資料庫
pRst.Release();//釋放記錄集對象指針
pMyConnect.Release();//釋放連接對象指針
頃敏}
catch(_com_error&e)
{
cout<<e.Description()<<endl;
cout<<e.HelpFile()<<endl;
return0;
}
CoUninitialize();//釋放COM環境
return0;
}
❸ C語言怎麼通過ADO連接SQLserver資料庫(舉出至少三種在ADO中連接資料庫的方法)
舉個例子,連接SQL:
//打開資料庫
strDBClass.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=%s;JetOLEDB:DatabasePassword=%s"),m_,m_);
//創建連毀前氏接
HRESULThr=m_pConnection.(_uuidof(Connection));
_m_pConnection- //聲明表纖散單指針 _; .(__uuidof(Recordset)); //執行語句 CStringstrSQL(悔首L"SELECT*FROM[Band]"); m_pConnection- //提取某一項例如BandInfo intiBandInfo=wcscmp(colum,L"BandInfo"); while(!- { var=- if(var.vt!=VT_NULL) strName=(LPCSTR)_bstr_t(var); - } ❹ sqlserver 2008資料庫怎麼遠程連接怎麼打開
登陸SQL Server 2008(windows身份認證),登陸後右擊,選擇「屬性」。 ❺ 資料庫請教:如何在本地連接伺服器sqlserver 2008R2
首先旁塌伺服器的遠程連接要打開。 ❻ C# 連接SQLSERVER2008 提示字元串''後的引號不完整
你沒發現你update前面多了一個單引號嗎,去掉它就好了。而且沒事不要鏈差虧隨便空格,尤其棚神在字元串中間 ❼ sql server 2008怎麼連接資料庫
上述錯誤我遇到兩種情況:
一種是在打開打開SQL Server 2008時彈出的;
另一種是在應用程序連接SQL Server 2008時出現的.歸納了一下,
由以下幾個原因:
1.資料庫引擎沒有啟動
有兩種啟動方式:枯毀旅
(1)開始->程序->Microsoft SQL Server 2008->SQL Server 2008外圍應用配置器,在打開的界面單擊"服務的連接的外圍應用配置器",在打開的界面中沒凳找到Database Engine,單擊"服務",在右側查看是否已啟動,如果沒有啟動可單擊"啟動",並確保"啟動類型"為自動,不要為手動,否則下次開機時又要手動啟動;
(2)可打開:開始->程序->Microsoft SQL Server 2008->配置工具->SQL Server Configuration Manager,選中SQL Server 2008服務中SQL Server(MSSQLSERVER) ,並單擊工具欄中的"啟動服務"按鈕把服務狀態改為啟動;
使用上面兩種方式時,有時候在啟動的時候可能會出現錯誤[/b],不能啟動,這時就要查看"SQL Server 2008配置管理器"中的SQL Server 2008網路配置->MSSQLSERVER協議中的VIA是否已啟用,如果已啟用,則把它禁止.然後再執行上述一種方式操作就可以了。
2.進行遠程連接時,是否已允許遠程連接.
SQL Server 2008 在默認情況下僅限本地連接.我們可以手動啟用遠程連接.在上面第一種方式中,找到Database Engine,單擊"遠程連接",在右側將"僅限本地連接(L)"改為"本地連接和遠程連接(R)",並選中"同時使用TCP/IP和named pipes(B)".
3.如果是遠程連接,則還要查看連接資料庫的語句是否正確,登錄賬戶是否正確,密碼是否正確等.
我在一次區域網內連接資料庫時,就要因為連接字元串出了問題,在區域網內一台機子連接另一台機子上資料庫時,把Data Source=裝有資料庫的另一台機子的IP.我在連余神接資料庫時總是出現上面的錯誤,查了好長時間,後來發現,IP沒有正確到傳到連接字元串,原來我在連接時,使用的是本地,即127.0.0.1,輸入的IP沒有傳到連接字元串
❽ 用CDaoDatabase成功連接SQLServer2008資料庫後,創建CDaorecordse
你說的是MFC的資料庫訪問類——class CDaoDatabase,這個類確實有Create()和Open()兩個成員函數,不過前者的功能是新建一個資料庫文件,而且只能是ACCESS文件(*.mdb),只有Open()能夠連接一個現有的SQL資料庫文件。 ❾ c++中怎麼連接sqlserver
C++連接SQL資料庫第一步 系統配置
2
左側選擇「安全性」,選中右側的「SQL Server 和 Windows 身份驗證模式」以啟用混合登錄模式。
3
選擇「連接」,勾選「允許遠程連接此伺服器」,建議將「最大並發連接數」按實際情況,進行設置,然後點「確定」。
4
展開「安全性」->「登錄名」->「sa」,右鍵選擇「屬性」。
5
左側選擇「常規」,右側選擇「SQL Server 身份驗證」,並設置密碼。
6
選擇「狀態」,選中「啟用」,點擊「確定」。
7
右擊資料庫選擇「方面」。
8
在「方面」下接列表框中,選擇「伺服器配置,「RemoteAccessEnabled」屬性和」RemotoDacEnabled」設為「True」,點「確定」。至此SSMS已設置完畢,先退出,再用sa登錄,成功即表示sa帳戶已經啟用。
9
下面開始配置Sql Server Configuration Manager (SSCM),選中左側的「SQL Server服務」,確保右側的「SQL Server」以及SQL Server Browser正在運行。
10
打開左側「SqlServer網路配置」,打開「你自己資料庫實例名的協議」,查看右側的TCP/IP默認是「已禁用」,將其修改為「已啟用」。
11
雙擊打開「TCP/IP」查看「TCP/IP屬性」下「協議」選項卡中的「全部偵聽」和「已啟用」項,是否都是設置成「是」。
12
選擇「IP Addersses」選項卡,IP1、IP2、IPAll設置TCP埠為「1433」,TCP動態埠為空值,已啟用為「是」。
13
將"客戶端協議"的"TCP/IP"也修改為「已啟用」。
14
雙擊打開右側「TCP/IP」,打開「TCP/IP屬性」,將默認埠設為「1433」,已啟用為「是」。配置完成,重新啟動SQL Server 2008。
15
最後一步,必需要防火牆上把SQL Server 的1433 TCP埠和1434 UDP埠映射出去。
2005以後,SQL的遠沖世程連接,默認是「本地連接」,得先設置到「本地連接和遠程連接」上。
然後本地資料庫的管理器里,選擇連接-資料庫引擎,在這個的界面上輸入伺服器IP或名稱、登錄名、密碼運判圓;以上沒問題的話,就可以連接上了。
12string sql = "update Usertable set Isonlineflag = 1 where UserName ='" + stuName + "'慶虧";
*****
*****連接代碼樣例宏行滑:
CDaoDatabase dbSQL(); //括弧必須有,因為它有一個引用參數,引用目標是class CDaoWorkspace的一個對象,這個參數默認是NULL
CString strDBPath("");//連接SQL時為空,連接ACCESS時為文件路徑
CString strDBConn("driver={SQL Server};server=MySqlServer; uid=MyUserName;pwd=MyPassword;database=你的SQL資料庫文件" );
//連接SQL時這樣設置,連接ACCESS時此參數為空
dbSQL.Open( strDBPath,
FALSE, FALSE,
strDBConn
);
*****
*****另外,如樓上所言,DAO最初就是為ACCESS設計的。數據源只是一個適配器,讓DAO能夠擴展其功能連接其它數據帶亂庫。建議改用ADO,ADO功能非常完善,而且簡單易用。ADO採用COM組件技術,它提供了一套完全與開發平台無關的類庫。也就是說可以不用MFC,可以在不同開發環境,蔽臘多做開發語言中使用。
1.設置SQLSERVER伺服器為SQL登錄方式,並且系統安全性中的sa用戶要設置登錄功能為「啟用」,還有必須要有密碼。
2.需要在ODBC中進行數據源配置,數據源選\」SQL SERVER」,登錄方式使用「使用輸入用戶登錄ID和密碼的SQL SERVER驗證」,並填寫登錄名(sa)和密碼,注意一點,密碼不能為空,這就意味著你的sa用戶必須得有密碼。否則無法通過系統本身的安全策略。測試通過就完成了配置。
C++連接SQL資料庫第二步 C++與SQL連接初始化
1.在你所顫清建立的C++項目中的stdafx.h頭文件中引入ADO
具體代碼如下
#import 「c:\Program Files\Common Files\System\ado\msado15.dll」
no_namespace rename(」EOF」, 「adoEOF」) rename(」BOF」, 「adoBOF」)
2.定義_ConnectionPtr變數後調用Connection對象的Open方法建立與伺服器的連接。
數據數穗類型_ConnectionPtr實際上是由類模板_com_ptr_t得到的一個具體的實例類。_ConnectionPtr類封裝了Connection對象的Idispatch介面指針及其一些必要的操作。可以通過這個指針操縱Connection對象。薯洞卜
例如連接SQLServer資料庫,代碼如下:
//連接到MS SQL Server
//初始化指針
_ConnectionPtr pMyConnect = NULL;
HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection));
if (FAILED(hr))
return;
//初始化鏈接參數
_bstr_t strConnect = 「Provider=SQLOLEDB;
Server=hch;
Database=mytest;
uid=sa; pwd=sa;」; //Database指你系統中的資料庫
//執行連接
try
{
// Open方法連接字串必須四BSTR或者_bstr_t類型
pMyConnect->Open(strConnect, 「」, 「」, NULL);
}
catch(_com_error &e)
{
MessageBox(e.Description(), 「警告」, MB_OK|MB_ICONINFORMATION);
}//發生鏈接錯誤
C++連接SQL資料庫第三步 簡單的數據連接
//定義_RecordsetPtr變數,調用它Recordset對象的Open,即可打開一個數據集
//初始化過程 以下是個實例
_RecordsetPtr pRecordset;
if (FAILED(pRecordset.CreateInstance(__uuidof(Recordset))))
{
return;
}
//執行操作
try
{
pRecordset->Open(_variant_t(」userinfo」),
_variant_t((IDispatch*)pMyConnect),
adOpenKeyset, adLockOptimistic, adCmdTable);
}
catch (_com_error &e)
{
MessageBox(」無法打開userinfo表\」, 「系統提示」,
MB_OK|MB_ICONINFORMATION);
}
C++連接SQL資料庫第四步 執行SQL語句
這里是關鍵,我認為只要你懂點SQL語句那麼一切都會方便許多比用上面的方法簡單,更有效率點。
首先
m_pConnection.CreateInstance(_uuidof(Connection));
//初始化Connection指針
m_pRecordset.CreateInstance(__uuidof(Recordset));
//初始化Recordset指針
CString strSql=」select * from tb_goods」;//具體執行的SQL語句
m_pRecordset=m_pConnection->Execute(_bstr_t(strSql),
NULL, adCmdText);//將查詢數據導入m_pRecordset數據容器
至此 你的SQL語句已經執行完成了m_pRecordset內的數據就是你執行的結果。
取得記錄:
while(!m_pRecordset->adoEOF)//遍歷並讀取name列的記錄並輸出
{
CString temp = (TCHAR *)(_bstr_t)m_pRecordset->GetFields()->GetItem
(」name」)->Value;
AfxMessageBox(temp);
pRecordset->MoveNext();
}
插入記錄
//記得初始化指針再執行以下操作
CString strsql;
strsql.Format(」insert into tb_goods(no,name, price)
values(』%d』,'%s』, %d)」,m_intNo,m_strName,m_intPrice);
m_pRecordset=m_pConnection->
Execute(_bstr_t(strsql),NULL,adCmdText);
修改記錄
CString strsql;
strsql.Format(」update tb_goods set name=』%s』 ,
price=%d where no=%d 「,m_strName,m_intPrice,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText);
刪除記錄
CString strsql;
strsql.Format(」delete from tb_goodswhere no= 『%d』 「,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText)