ADO資料庫連接字串(sql server資料庫)

來源:互聯網
上載者:User

標籤:個人   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資料庫)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.