sqlserver 字元重複_Excel VBA+ADO+SQL入門教程21:ADO常用連線字串
阿新 • • 發佈:2020-12-21
技術標籤:sqlserver 字元重複
點上方 關注我們 ,每日 學一點 ,每天進步一點點![41b2497b6f18ad5178fd485e8bdcc568.gif](https://img.796t.com/res/2020/12-21/03/50027bea3ce56476090b2e411e943e5d.gif)
在很久以前的第2章,我們說明了ADO的概念以及為什麼學習ADO;同時也介紹瞭如何在VBA中引用ADO類庫、建立同Excel檔案的連線,並分享了一個使用ADO執行SQL語言的小套路等;詳參連結:Excel VBA+ADO+SQL入門教程002:簡單認識ADO …… 打個響指,對面的女孩看過來……就像我們所熟悉的Workbook物件一樣,大物件ADO內部也有多個小物件,不過我們經常用到的只有兩個;一個是Connection,另一個是Recordset。
Connection,顧名思義,是到資料庫的連線,管理應用程式和資料庫之間的通訊;Recordset,又稱記錄集,是用來獲得資料,存放和處理SQL語句的查詢結果……另外,我們可能會在系列教程的末尾稍微提下ADO的Command物件,它的主要作用是用來處理帶引數值的或重複執行的查詢。 …… 先來看下Connection物件。它的語法如下: connection.Open ConnectionString, UserID,Password, Options
踹一腳,對面的男孩看過來……第2章時,我們說過,雖然Connection物件對於不同的資料庫或檔案會有不同的連線字串,但常用的資料庫或檔案的連線字串均是固定的。
下面是常用資料庫或檔案的連線字串。
1,Access資料庫
沒有密碼保護的Access資料庫
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=帶路徑的Access資料庫名稱;
有密碼保護的Access資料庫
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=帶路徑的Access資料庫完整名稱;JetOLEDB:Database Password=密碼;
Provider=Microsoft.ACE.OLEDB.12.0; Data Source=文字檔案路徑&'\';Extended Properties=’text;HDR=Yes;FMT=Delimied’;
3,SQL Server資料庫
Provider =SQLOLEDB;Password=密碼;User ID= 使用者名稱; Data Source =SQL資料庫伺服器名稱;Initial Catalog=資料庫名稱;
4,Oracle 資料庫
Provider =madaora; PassWord=密碼; User ID=使用者名稱; Data Source =Oracle資料庫伺服器名稱;
Provide=Microsoft.ACE.OLEDB.12.0;User ID=使用者名稱;Data Source=dbf檔案路徑;Extended Properties=dBASEIV;
6,Excel工作簿
03版本Excel
Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=’Excel 8.0;HDR=yes;IMEX=0’;Data Source=帶路徑的Excel工作簿完整名稱
07~19版本Excel
Provider=Microsoft.ACE.OLEDB.12.0;Extended
Properties=’Excel 12.0; HDR=yes;IMEX=0’;Data Source=帶路徑的Excel工作簿完整名稱
……
……
另外,就像我們所熟悉的眾多的VBA物件一樣,Connection物件也有很多自己的屬性、方法,甚至事件;不過我們能用到的……同樣實在不多,且也都有固定的套路。
通過一小段程式碼,有幾個屬性僅供大家瞭解。
Sub test() Dim cnn As Object Set cnn = CreateObject("adodb.connection") cnn.Open "provider=microsoft.ace.oledb.12.0;extended properties=excel 12.0;data source=" & ThisWorkbook.FullName If cnn.State = 1 Then MsgBox "連線成功!" & vbCrLf & "ADO版本為:" & cnn.Version & vbCrLf & "Connection物件提供者名稱:" & cnn.provider cnn.Close Set cnn = Nothing Else MsgBox "資料庫連線失敗" End IfEnd Sub
State屬性返回Connection物件的狀態;0是AdStateClosed,表示物件是關閉的;1是AdStateOpen,表示物件是開啟的;2是AdStateConnecting,表示物件正在連線等。
Version屬性只讀,返回Connection物件的版本號;Provider是Connection物件連線資料庫提供程式者的名稱,當Connection物件關閉時,該屬性可讀寫;否則為只讀。
……
重點是Connection物件的方法或函式,我們最常用的也就四個,分別是Open、Close、Execute和OpenSchema。
通過往期的教程,我們已經知道,Open用於建立連線,Close用於關閉連線,Execute用於執行SQL語句;而OpenSchema則是可以獲得資料庫資料表的名稱及相關資訊。
Open和Close已經木有什麼好說的了,Execute我們下節再多說兩句。
所以下節見~
更多教程&練習
001:零基礎學Excel(一)什麼是Excel?
002:30個工作日後(含特定節假日)是哪天?
003:連續區間查詢的常用方法有哪些?
©看見星光
![65ee19ef9bf04f01d379e017a593d450.png](https://img.796t.com/res/2020/12-21/03/49ab0b7d233bba788333b9de4ae34a5a.png)