標籤:個人 ecif cal htm word OLE blog rds 情況下
一,身分識別驗證:
sql server資料庫連接身分識別驗證有兩種:windows身分識別驗證和SQL Server身分識別驗證
windows驗證:是使用windows的安全子系統對使用者串連進行有效性驗證。(個人認為是windows作業系統幫我們驗證使用者安全性,預設windows管理員為資料庫的管理員,可以進行一切操作,但是也可以自己設定資料庫的管理員)
sql server驗證:需要提供使用者名稱和密碼,預設的使用者名稱為sa,但是可以更改。
二,資料庫連接:
1.匯入msado15.dll檔案(在c盤中尋找)
在標頭檔中或stdafx.h檔案中匯入就可使用,不需要匯入相應的類的標頭檔(這點與word組件不同)
2.建立連線物件和記錄集對象
_ConnectionPtr pConn;
pConn.CreateInstance("ADODB.Connection");//後面字串不區分大小寫
_RecordSetPtr pRecordSet;
pRecordSet.CreateInstace("adodb.connection");
三、連接字串(所有連接字串均不區分大小寫,鍵和值都不區分):
Provider=SQLOLEDB.1//該鍵用於表明提供資料庫服務的資料庫類型,不同的資料庫該值是不一樣的。其它類型請參考:http://www.w3school.com.cn/ado/prop_conn_provider.asp
Integrated Security/Trusted=True[Yes,No,False,SSPI]//該鍵為Yes,Ture或者SSPI時表示使用windows登陸方式,此時不需要提供uid和pwd。否則為sql登陸方式,預設為False。sql登陸必須提供User ID和password。
Persist Security Info=False[True]//當為False時,與上面的鍵配合使用可以提高串連安全性
Workstation ID=computername[(local)] //表示資料庫所在的工作站名稱,預設值為本機電腦名稱
Data Source/Server/Address/Addr/Network Address=(local)//該鍵表示伺服器的名稱,五者是一樣的,根據情況使用其一
Initial Catalog/Database=databasename//該鍵表示資料庫名稱(資料庫集合組成伺服器),二者是一樣的
User ID/Uid=username//使用sql登陸時的登陸名
Password/Pwd=password//使用sql登陸時的密碼
其它索引值請參考:https://www.cnblogs.com/niuyjdz/p/7533439.html
四、串連資料庫的Open()函數的四個參數:
對於多次訪問資料庫,使用_ConnectionPtr.Open()開啟資料庫
對於一次訪問,只需要 使用_CommandPtr或者_RecordSetPtr串連即可。
_ConnectionPtr.Open(_bstr_t(connectionstr),_bstr_t(username),_bstr_t(pwd),option)//後三個參數不是必須的,都有預設值
參數1:連接字串,至少必須包含伺服器,資料庫參數,當使用該對象的ConnectionString屬性時,該參數可為“”空,此時不必轉化成_bstr_t類型,否則必須轉化成該類型;
參數2,參數3:採用sql sever方式登陸時,所需要的使用者名稱和密碼,若在參數1中提供,則可以為空白。
參數3:表示同步或非同步返回。adConnectUnspecified表示串連後返回,即同步;adAsyncConnect表示非同步返回,未串連情況下也返回。預設值為同步。
五、執行sql語句的Execute方法(僅_ConnectionPtr和_CommandPtr有該方法)
_RecordSetPtr Execute(_bstr_t cmdtext,_variant_t* recordeffected,options)
傳回值:為一個記錄集,非常有用。
參數1:sql語句,必須轉化成_bstr_t格式
參數2:返回一個指標,值為該語句所影響的行數,可省略
參數3:表示如何解讀參數1,一般為AdCmdText,可省略,預設值也是該值。
六、關閉資料庫Close():
該三個對象用完之後需要調用Close()函數進行關閉,會調用Release()釋放資源。
也可以調用Release();該release()是對介面進行釋放。
也可以不調用,因為是智能指標,在智能指標析構時會自動釋放。
http://www.cnblogs.com/jeffry/p/5827849.html
ADO資料庫連接字串(sql server資料庫)