FirebirdSQL/問答篇/Firebird Embedded Server and VFP

出自VFP Wiki

(修訂版本間差異)
跳轉到: 導航, 搜尋
(如何使用Embedded server步驟如下:)
第8行: 第8行:
#測試資料庫是否能使用
#測試資料庫是否能使用
-
<code>
 
-
&&原作者:dorin_vas@yahoo.com 提共此函數
 
-
&&建立ODBC使用來源
 
-
PROCEDURE setDSN
 
-
LPARAMETERS cDSN,cServerName,cDBName, cDLLPath, cRole
 
-
*cDSN entry in ODBC DSN
 
-
*cServerName server, name or IP
 
-
*cDBName database
 
-
*cDLLPath path to DLLs folder
 
-
*cRole user role
 
-
#DEFINE HKEY_CURRENT_USER -2147483647
+
使用資料庫版本: Firebird-1.5.0.4290_embed_win32
-
#DEFINE SUB_KEY 'Software\ODBC\ODBC.INI\'
+
-
IF TYPE('cRole') <> 'C'
+
Embedded server安裝/使用說明:
-
cRole = 'appuser'
+
不需要事先安裝FirebirdSQL Server,對於單機版程式來是一像好事情。
-
ENDIF
+
存取:只能本地使用,內置伺服器不支援遠端存取的協定,連localhost都不能使用。
 +
安全性:安全資料檔案security.fdb沒有使用。但是注意, SQL的執行許可權仍會被檢查.
 +
相容性:你可以同時運行多個使用內置伺服器版本的應用程式,而不會有衝突。
 +
有IB/FB伺服器版的應用程式也一樣不會有問題。但是對於使用內置伺服器版本的應用程式,
 +
不要多個應用程式同時訪問一個資料檔案,因為內置伺服器版的程式結構與伺服器版一樣,
 +
但是它使用獨佔鎖來訪問資料庫。
-
oReg = NEWOBJECT('registry','registry.prg')
 
-
WITH oReg &&AS registry OF registry.prg
+
用法:
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'Driver',cDLLPath+'OdbcJdbc.dll' ,.T.)
+
複製gds32.dll和fbembed.dll(注意是內置伺服器版本的)到應用程式目錄下,
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'Dbname',cDBName, .T.)
+
把fbembed.dll改名為fbclient.dll然後就可以直接訪問firebird的資料庫檔了。
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'Role','appuser', .T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN,'CharacterSet','NONE',.T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'Client',cDLLPath + 'fbclient.dll' ,.T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN,'JdbcDriver','IscDbc',.T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN,'ReadOnly','N', .T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'NoWait','Y', .T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'Dialect','3', .T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN,'QuotedIdentifier','N',.T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'User', 'SYSDBA',.T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN, 'Password','masterkey',.T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN,'SensitiveIdentifier','Y',.T.)
+
-
.writeRegistryString(HKEY_CURRENT_USER, SUB_KEY + cDSN,'AutoQuotedIdentifier','N',.T.)
+
-
ENDWITH
+
-
ENDPROC && setDSN
+
-
</code>
+
 +
 +
 +
下面是一個例子,使用內置伺服器版的應用程式的檔結構如下:
 +
 +
/myapp/app.exe
 +
 +
/myapp/fb15/gds32.dll
 +
 +
/myapp/fb15/firebird.conf
 +
 +
/myapp/fb15/firebird.msg
 +
 +
/myapp/fb15/intl/fbintl.dll
 +
 +
/myapp/fb15/udf/fbudf.dll
 +
 +
firebird.conf檔的內容:
 +
 +
RootDirectory = /myapp/fb15
=== 檔案下載 ===
=== 檔案下載 ===

在2005年7月29日 (五) 08:57所做的修訂版本

VFP與 FirebirdSQL 美好演出,透過ODBC是種美妙舞曲,若是需要了解API屈就於使用FirebirdSQL ,對於VFP迷來說是種折磨,也等於扼殺了FireBirdSQL 簡單與方便的美名.不是嗎?


如何使用Embedded server步驟如下:

  1. Embedded server安裝說明
  2. 確定FirebirdSQL ODBC Driver是否有安裝,沒有補上去.
  3. 建立ODBC的使用來源,供應用程式使用
  4. 測試資料庫是否能使用


使用資料庫版本: Firebird-1.5.0.4290_embed_win32

Embedded server安裝/使用說明: 不需要事先安裝FirebirdSQL Server,對於單機版程式來是一像好事情。 存取:只能本地使用,內置伺服器不支援遠端存取的協定,連localhost都不能使用。 安全性:安全資料檔案security.fdb沒有使用。但是注意, SQL的執行許可權仍會被檢查. 相容性:你可以同時運行多個使用內置伺服器版本的應用程式,而不會有衝突。 有IB/FB伺服器版的應用程式也一樣不會有問題。但是對於使用內置伺服器版本的應用程式, 不要多個應用程式同時訪問一個資料檔案,因為內置伺服器版的程式結構與伺服器版一樣, 但是它使用獨佔鎖來訪問資料庫。


用法: 複製gds32.dll和fbembed.dll(注意是內置伺服器版本的)到應用程式目錄下, 把fbembed.dll改名為fbclient.dll然後就可以直接訪問firebird的資料庫檔了。


下面是一個例子,使用內置伺服器版的應用程式的檔結構如下:

/myapp/app.exe

/myapp/fb15/gds32.dll

/myapp/fb15/firebird.conf

/myapp/fb15/firebird.msg

/myapp/fb15/intl/fbintl.dll

/myapp/fb15/udf/fbudf.dll

firebird.conf檔的內容:

RootDirectory = /myapp/fb15

檔案下載

  1. Firebird-VFP & Embedded server安裝/使用說明/範例程式
  2. Firebird RDBMS Downloads


相關文章

  1. 蜉蝣小品之文件管理0.1