一、串連SQL SERVER的第一種串連字串:
是針對資料庫身分識別驗證模式為”SQL SERVER 和 windows“而言,
串連字串為:
CString strConn;
strConn = ”Provider = SQLOLEDB.1;\
Persist Security Info = true;\
User ID = sa;\
Password=123456;\
Initial Catalog = tempdb;\
Data Source = 127.0.0.1”;
(包含 6 項,有使用者名稱和密碼,資料庫名,伺服器名(伺服器名可以是網路上的,此時是一個IP地址))
二、串連SQL SERVER的第二種串連字串:
針對身分識別驗證模式為“僅 windows”,
串連字串為:
strConn= “
Provider = SQLOLEDB.1;\
Integrated Security=SSPI;\
Persist Security Info =false;\
Initial Catalog = tempdb;\
Data Source = (local)”;
(包含 5 項,因為已經有windows驗證了,所以不再需要使用者名稱和密碼,如果是原生SQL SERVER,那麼伺服器名可寫為(local))
三、串連SQL SERVER的第二種串連字串:
僅針對ODBC的串連方式,
串連字串為:
strConn= “
Provider = SQLOLEDB;\
Server = (local);\
Database = tempdb;\
uid = sa;\
pwd=12345;"
以上三種串連方式,記住任意一種即可,推薦使用第二種
關於串連字串的問題,我們可以藉助 udl 檔案來處理~~
新建立一個空的txt檔案.把副檔名修改為udl就行了.UDL本身是個文字檔.它的主要作用是查看配置好的資料庫連接字.先配置好.然後使用記事本開啟
eg:我們在案頭建立一個 test.udl 檔案,
1.如果要串連SQLserver資料庫,【提供者】選擇:
microsoft ole db provider for sql server這一項,
2.【串連】中,伺服器名稱,選擇RICHARDLEE(即本機伺服器名稱)
如果我們選擇windows認證模式,就不用指定使用者名稱和密碼了,
【在伺服器上選擇資料庫】這一欄,就填我們在sqlserver中,某個自己想串連的資料庫 ,比如 test
再點擊【測試連接】,如果串連成功,說明我們的串連字串都是對的~~
3.(我們自己填寫的串連字串,在【所有】這一欄中可以看到)
4.把檔案的尾碼名改為*.txt開啟後,就可以發現串連字串了,eg:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test1;Data Source=RICHARDLEE
5.上面的串連字串就可以用在我們的程式中,比如
hr = m_pConnection.CreateInstance(__uuidof(Connection));
hr = m_pConnection->Open("Provider=SQLOLEDB.1;\
Integrated Security=SSPI;\
Persist Security Info=False;\
Initial Catalog=test1;\
Data Source=(local)","","",adModeUnknown);
(PS:串連字串中,各部分的先後順序對資料庫連接沒有影響,即Integrated Security和Persist Security Info,誰在前誰在後,都無所謂)
************************************************************************************************************************
VC_ADO串連SQLSERVER的串連字串和VC-ADO串連ACCESS的串連字串有些不一樣的地方~~
1.串連ACCESS時,常用
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\test1.mdb","","",adModeUnknown);
即,串連字串為"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\test1.mdb"
這裡的Data Source=D:\\test1.mdb是ACCESS資料庫的名稱,除非資料庫檔案放在了當前工程路徑下,否則要寫全部路徑名,並且要寫資料庫的尾碼名
要注意,是”D:\\“,而不是”D:\“,寫成後者,會出錯
2.串連SQLSERVER時,
Initial Catalog=test1;這一項表示串連的資料庫名,要注意,這裡的test1是資料庫的名稱,不能給他加上路徑,也不能加上尾碼*.mdf,寫成
Initial Catalog=D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test1.mdf;會出錯~~