2011-11-16

《OpenOffice / LibreOffice / Base》使用ADO連接Microsoft SQL server資料庫

OSS首頁》《文章分類列表》《Base》《Calc》《Draw》《Impress》《Writer

Microsoft SQL server的Express版本,雖然有資料庫容量上的限制,但對於建立測試環境,或資料量不大的作業環境,是相當足夠的。
Express免費版本主要限制說明
支援CUP數量1,記憶體上限1GB,資料庫容量上限為4GB,在64位元的作業環境上,只能以WOW(Windows on Windows)的方式來模擬。

點選『連線到現有資料庫(X) 』,再選取ADO的連線方式。

在『設定ADO連線』步驟,使用『瀏覽(B) 』按鈕,開啟『資料連節設定』的畫面。

在不需額外設定OBDC驅動的情況下,OLE DB Provider(s)可以選擇:Microsoft OLE DB Provider for SQL Server 或 SQL Server Native Client。

按『下一步』進入連線資料的設定:

伺服器名稱,依照SQL server的實際狀況輸入,例如:HANNIBALW7\SQLEXPRESS (主機名稱\執行個體名稱)

輸入登入MS-SQL的帳號密碼,如果輸入正確,設定沒問題,可以選取登入MS-SQL後,所要使用的資料庫。

使用『測試連線(T)』鈕,測試是否可以使用上述輸入的資料,登入MS-SQL。

按下『確定』鈕,取得『資料來源URL』字串:Provider=SQLOLEDB.1;Password=test2;Persist Security Info=True;User ID=test2;Initial Catalog=test;Data Source=HANNIBALW7\SQLEXPRESS


接下來『設定使用者認證』。因為在設定資料來源URL時,已經將登入資料庫的使用者帳號密碼,一並設定了,所以這個步驟可以省略,直接進行下一步。


儲存上列的設定,可以繼續使用Base的表單、查詢、報表...等功能來存取MS-SQL資料庫。

選擇註冊資料庫,可以方便日後使用Calc試算表、或Writer文件編輯器,直接存取這個資料庫的內容。

2 則留言:

Lance 提到...

不好意思,因為看到您的文章,想來您應該對Base有一定程度之研究,所以冒昧地請問您以下幾個問題:
1.若有2個.odb檔,分別為 A.odb及 B.odb,請問要如何使 A.odb讀取/更新/增加/刪除 B.odb的檔案?
2.我使用 thunderbird portable 的通訊錄,我要如何將該通訊與我的A.odb可以同步、讀取、更新、增加、刪除?
3.在Base中,可以在表單模式中使用分頁(tab) 的方式嗎?

謝謝您!

Hannibal 提到...

1. 可以參考『StarSuite 8 BASIC 程式設計指南』第10章資料庫存取。
2.thunderbird的部分,可以使用Base建立一個odb檔案,選擇:連線到現有資料庫,選取:Thunderbird Address Book,不是經由安裝方式的TB,Base可能會找不到通訊錄,可以在Base下:編輯→資料庫→特性,指定TB設定檔的所在位置,這時候就有兩個odb檔了,接下來的問題就跟上述1一樣了!
3.應該沒有提供分頁的控制元件,也許可以使用群組方塊再加上一些對控制項的操作技巧,來達成分頁使用的效果!
Enjoy it!