2012/07/23

Open dbExpress 安裝

作者:吳祐賓



OpenDBX Sourceforge 下載連結

安裝說明:

一、首先是先安裝bpl到RAD Studio裡面

dbxoodbc\lib\{%DelphiVersion%}\dbxoodbc*.bpl
以XE2來看的話,就會是在「dbxoodbc\lib\delphi-2012(16)XE2\win32」(32bit)目錄裡面


二、接下來再把dbxoodbc\lib\dbxoodbc_driver\(%Platform%)\release目錄裡的相關檔案複製到系統路徑

以Win32系統為例,就是把「dbxoodbc\lib\dbxoodbc_driver\win32\release」複製到Delphi安裝目錄裡的bin資料夾下,也就是「{%DELPHI}\Bin」


三、接下來是要註冊 dbxconnections.ini 及 dbxdrivers.ini

說真的,這兩個檔案不是放在特定資料夾中,常常會找不到它們
以我的XE2為例,它們是放置在「c:\users\public\documents\RAD Studio\dbExpress\9.0」目錄中,如果你的電腦沒有的話,可以在底下的機碼中尋找「[HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\DBExpress」


台灣大多數的人都是用SQL Server,所以我們就以它的設定為範本:

===dbxconnections.ini===
;--------------------------------------------------------------------------------------------------
[dbxoodbc_SS_DirectMode]
DriverName=DbxSQLServer
GetDriverFunc=getSQLDriverODBCW
VendorLib=sqlsrv32.dll;sqlncli10.dll;sqlncli.dll;odbc32.dll
Trusted_Connection=No
User_Name=name
Password=secret
BlobSize=-1
RowsetSize=20
OpenOdbc TransIsolation=ReadCommited
Trim Char=True
Database=?
ConnectionString=coCatPrefix=DATABASE;SERVER=?
MetaDataPackageLoader=TDBXOpenODBCMetaDataCommandFactoryMSSQL
DriverPackageLoader=TDBXDynalinkDriverLoaderOpenOdbc
;--------------------------------------------------------------------------------------------------
===dbxdrivers.ini===
[Installed Drivers]
DbxSQLServer=1
;--------------------------------------------------------------------------------------------------
[DbxSQLServer]
LibraryName=dbxoodbc.dll
ProductName=DbxOpenODBC
DriverUnit=Dbx34Drv
MetaDataPackageLoader=TDBXOpenODBCMetaDataCommandFactoryMSSQL
DriverPackageLoader=TDBXDynalinkDriverLoaderOpenOdbc
DbxSQLServer TransIsolation=ReadCommited
GetDriverFunc=getSQLDriverODBCW
VendorLib=sqlsrv32.dll;sqlncli10.dll;sqlncli.dll;odbc32.dll
DATABASE=(Database Name)
Trusted_Connection=YES
User_Name=
Password=
ConnectionString=coCatPrefix=DATABASE;Server=(Server Name)

[DbxSQLServer TransIsolation]
DirtyRead=0
ReadCommited=1
RepeatableRead=2
;--------------------------------------------------------------------------------------------------

四、接下來我們要在bpr裡面,增加一個uses模組項目:

uses DbxXXDrv, ...


五、開啟XE2並建立一個新專案,再drop一個TSQLConnection到裡面,設定

ConnectionName = dbxoodbc_SS_DirectMode
LoginPrompt = False

接下來要注意的是 Params 裡面的項目

============
DriverName=DbxSQLServer
GetDriverFunc=getSQLDriverODBCW
VendorLib=sqlsrv32.dll;sqlncli10.dll;sqlncli.dll;odbc32.dll
Trusted_Connection=No
User_Name=name
Password=secret
BlobSize=-1
RowsetSize=20
OpenOdbc TransIsolation=ReadCommited
Trim Char=True
Database=?
ConnectionString=coCatPrefix=DATABASE;SERVER=?
MetaDataPackageLoader=TDBXOpenODBCMetaDataCommandFactoryMSSQL
DriverPackageLoader=TDBXDynalinkDriverLoaderOpenOdbc
=============


先看紅色區塊

Trusted_Connection是指登入方式:
Yes = Windows 驗證
No = SQL Server 驗證

一般都是No,然後設定User_Name和Password。如果設定為Yes,則User_Name和Password的內容要記得清空


再來看綠色區塊中

DATABASE=?」 問號就是填入要登入的資料庫名稱

ConnectionString=coCatPrefix=DATABASE;SERVER=?」問號就是要填入要登入的伺服器名稱

在這邊如果是Express版本,則是要在後面加上「\SQLExpress」

辛苦的設定終於完成,接下來就是將TSQLConnection的Connected設為「True」。

連線成功!


=========底下是 Sryang大大 熱情提供更為簡單的連線技巧=========


dbxdrivers.ini


[DbxSQLServer]
LibraryName=dbxoodbc.dll
ProductName=DbxOpenODBC
DriverUnit=Dbx34Drv
MetaDataPackageLoader=TDBXOpenODBCMetaDataCommandFactoryMSSQL
DriverPackageLoader=TDBXDynalinkDriverLoaderOpenOdbc
DbxSQLServer TransIsolation=ReadCommited
GetDriverFunc=getSQLDriverODBCW
VendorLib=sqlsrv32.dll;sqlncli10.dll;sqlncli.dll;odbc32.dll
Database=(database name)
Trusted_Connection=YES
User_Name=
Password=
ConnectionString=coCatPrefix=DATABASE;SERVER=(server name)

IDE 中 Data Explorer 的使用



利用"Add New Connection "新建一個連線設定



建立後修改參數,如下圖



這個畫面不用填資料,按 Advanced 按鈕
(Test Connection 不可用,會有錯誤訊息,不過不用理他)


填入 Database



在 connectionstring 項目內 "SERVER=" 後面輸入要登入的資料庫伺服器


設定好的連線,可以直接拖曳到 Form 或者 DataModule 裡面


將 Connected 屬性設定為 True 就可連線

沒有留言:

張貼留言