VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

自動建立ODBC介面

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 1 樓

發表發表於: 星期一 四月 28, 2003 11:35 am    文章主題: 自動建立ODBC介面 引言回覆

*******************************
* 用途: 建立ODBC介面
* 參數:
* 傳值:
* 範例:
*******************************
FUNCTION CreateODBC
PARAMETER lcODBCName,lcODBCDriver,lcODBCServer,lcODBCDatabase

DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRING

lnWindowHandle=0
*!* lcODBCDriver='SQL Server' &&DRIVER類型
*!* lcODBCName='test' &&資料源名字
*!* lcODBCServer='user' &&SQL SERVER名字
*!* lcODBCDatabase='test' &&要連接的資料庫名字
lcODBCDesc='Shared Data' &&資料源描述

**先試圖修改已有的ODBC,如果不存在,返回0。
lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
IF lreturn=0 &&不存在

**增加新的ODBC
lreturn=SQLConfigDataSource(lnWindowHandle, 1, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
IF lreturn=0 &&失敗
MESSAGEBOX("Creat ODBC DSN Error!!",16,"BUFFER")
ENDIF
ENDIF
CLEAR DLLS
ENDFUNC

*******************************
* 用途: 刪除ODBC
* 參數:
* 傳值:
* 範例:
*******************************
FUNCTION DeleteODBC
PARAMETER lcODBCName,lcODBCDriver,lcODBCServer,lcODBCDatabase

DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRING

lnWindowHandle=0
*!* lcODBCName='test'
*!* lcODBCDriver='SQL Server'
*!* lcODBCServer='user'
*!* lcODBCDatabase='test'
lcODBCDesc="Shared Data"

**先修改,或者其是否存在
lreturn=SQLConfigDataSource(lnWindowHandle, ;
2, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
IF lreturn=1 &&ODBC存在,刪除它
lreturn=SQLConfigDataSource(lnWindowHandle, ;
3, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
IF lreturn=0
MESSAGEBOX("DELETE ODBC DSN ERROR!!",16,"BUFFER")
ENDIF
ELSE
MESSAGEBOX("ODBC DSN NOT EXIST!!",16,"BUFFER")
ENDIF

**清除DLL
CLEAR DLLS

ENDFUNC


Ruey 在 星期日 八月 10, 2003 7:34 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 2 樓

發表發表於: 星期一 四月 28, 2003 11:36 am    文章主題: 引言回覆

ODBC設定參數
1.SQL Server
Driver={SQL Server};Server=user;Database=test;Uid=sa;Pwd=1234;

2.My SQL Server
DRIVER={MySQL ODBC 3.51 Driver};DESC=;DATABASE=test;SERVER=user;UID=root;PASSWORD=;PORT=3306;OPTION=;STMT=;

3.InterBase
Driver={Easysoft IB6 ODBC};Pwd=masterkey;Uid=sysdba;db=localhost:d:\test.gdb

4.Access
DRIVER=Driver do Microsoft Access (*.mdb);UserCommitSync=yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=25;DefaultDir=D:\DB\;DBQ=D:\DB\test.mdb;UID=admin;

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作