怎樣取得服務(wù)器名稱和ODBC數(shù)據(jù)源

字號:

怎樣取得服務(wù)器名稱和ODBC數(shù)據(jù)源
    通常程序不會詢問用戶所要使用的是那一個SQL Server 或是那一個數(shù)據(jù)源,但假如你必須這么做的話,您可以在屏幕上顯示一個目前已在網(wǎng)絡(luò)上啟動或可被搜尋得到的SQL Server 或DSN 選擇清單(把用戶的使用權(quán)限也一起列舉),也不要讓用戶自行在TextBox上輸入,避免使用上的困擾。
    技巧:可以用SQL Server 上的函數(shù)SqlServerEnum來搜尋網(wǎng)絡(luò)上已經(jīng)安裝的SQL 服務(wù)器。
    ODBC登錄對話框照理來說,一般應(yīng)用程序被執(zhí)行時(shí)應(yīng)該看不到ODBC 的登入對話框,但如果沒有作好適當(dāng)?shù)脑O(shè)定時(shí), 那么一旦ODBC驅(qū)動程序管理員接收到應(yīng)用程序存取ODBC失敗的信息時(shí),屏幕上便會出現(xiàn)ODBC登錄對話框。 也許您會感覺這個對話框跟您見到的對話框不同,這個對話框之所以出現(xiàn),是因?yàn)橛脩魶]有通過DSN的身份驗(yàn)證造成。假如您指定了一個確實(shí)可供存取的DSN的話,將出現(xiàn)另一種登錄對話框。這是正確指定DSN才出現(xiàn)的對話框,美中不足的是無法禁止用戶按下[OPTION>>]按鈕,進(jìn)而更改其登錄的高級設(shè)定。
    測試數(shù)據(jù)源
    為了避免在調(diào)試程序時(shí),帶來不必要的麻煩,應(yīng)該在建立好DSN后,對DSN進(jìn)行測試。在VFP中你可以用 SqlConnect( )或者SQLSTRINGCONNECT( )函數(shù)來對DSN進(jìn)行測試。
    下面說說詳細(xì)的測試方法
    測試方法:? SqlConnect(數(shù)據(jù)源,用戶,密碼)
    例如: ? SqlConnect("EDSTW","sa","") 如果函數(shù)返回-1,表明數(shù)據(jù)源無法連接,請檢查數(shù)據(jù)源或者檢查SQL服務(wù)器是否正常。 返回正數(shù),表明數(shù)據(jù)源連接成功。該返回?cái)?shù)代表當(dāng)前連接的SQL句柄。
    連接管理
    網(wǎng)絡(luò)上的數(shù)據(jù)庫若被單一用戶獨(dú)占的話,就豪無意義可言,SQL Server的資料庫界面改善了前端的應(yīng)用程序來存取數(shù)據(jù)庫的效率,讓多個CLIENT可同時(shí)透過同一連接關(guān)系去存取數(shù)據(jù)。
    動態(tài)連接模式
    以往若應(yīng)用程序需多次存取某一數(shù)據(jù)庫的話,便會與該數(shù)據(jù)庫一直保持連接關(guān)系,如此因長期獨(dú)占而導(dǎo)致該連接關(guān)系處于空閑狀態(tài),浪費(fèi)資源。
    現(xiàn)在VFP加入連接共享以及空閑關(guān)閉的功能。 及時(shí)開啟連接關(guān)系: 連接不活動前允許在指定的時(shí)間分鐘數(shù)內(nèi)空閑。如果在指定時(shí)間內(nèi)沒有請求使用服務(wù)器,則 Visual FoxPro 終止該連接。但是,連接超時(shí)后如果對服務(wù)器又有請求,則 Visual FoxPro 將試圖自動恢復(fù)這個連接。因?yàn)檫B接是作為數(shù)據(jù)庫的一部分存儲的,所以僅在有打開的數(shù)據(jù)庫時(shí)才能進(jìn)行連接建立。
    1:指定的數(shù)據(jù)源:有兩種方式指定數(shù)據(jù)源,一種用字符串來指定,允許在文本框中鍵入連接串。 另一種用DSN,用戶標(biāo)識,密碼來指定:
    A:數(shù)據(jù)源 允許從已安裝的 ODBC 數(shù)據(jù)源列表中選擇一個數(shù)據(jù)源。
    B:用戶標(biāo)識 如果數(shù)據(jù)源需要用戶名稱或標(biāo)識,允許鍵入。
    C:密碼 如果數(shù)據(jù)源需要密碼,允許鍵入密碼。
    D:數(shù)據(jù)庫 您可以選擇一個數(shù)據(jù)庫,作為所選數(shù)據(jù)源連接的目標(biāo)。
    指定DSN后您可以對剛輸入了內(nèi)容的連接進(jìn)行連接驗(yàn)證。如果連接成功,則顯示對話框提示此“連接成功”;如果連接失敗,則出現(xiàn)錯誤信息。如果沒有對連接指定內(nèi)容,則顯示“選擇數(shù)據(jù)庫” 對話框,使您可以選擇數(shù)據(jù)源。
    新的數(shù)據(jù)源
    顯示“Data Sources”對話框,使您可以添加、刪除或配置數(shù)據(jù)源。
    2:顯示 ODBC 注冊提示
    此項(xiàng)設(shè)定ODBC登錄信息對話框是否出現(xiàn),什么時(shí)候出現(xiàn)。
    A:僅當(dāng)?shù)卿浶畔]有指定時(shí): 如果在命名連接定義中未存儲用戶標(biāo)識和密碼,則 Visual FoxPro 用“ODBC 數(shù)據(jù)源注冊”對話框提示用戶。
    B: 每次都顯示: 指定 Visual FoxPro 總是使用“ODBC 數(shù)據(jù)源注冊”對話框提示用戶, 該框允許用戶使用與存儲在命名連接中不同的注冊 ID 和密碼。
    C:從不指定: Visual FoxPro 從不提示用戶。此選項(xiàng)確保更高的安全性。
    3:數(shù)據(jù)處理
    這里可以設(shè)置連接數(shù)據(jù)的處理方式
    A:異步執(zhí)行 指定異步連接。
    B:顯示警告信息 指定顯示不可捕獲警告。
    C:批處理 指定以批處理方式進(jìn)行連接操作。
    (1):批處理方式 ---- 分批從表中取出設(shè)定的記錄數(shù)(默認(rèn)值100)
    (2):非批處理方式---- 一次取完整個表的數(shù)據(jù) D:自動事務(wù)處理 指定自動執(zhí)行事務(wù)處理。
    E: 數(shù)據(jù)包大小 當(dāng)和遠(yuǎn)程數(shù)據(jù)位置之間傳送信息時(shí),您可以指定傳送信息網(wǎng)絡(luò)包的大小 (以字節(jié)為單位)。在下拉列表中選擇或鍵入一個值。
    4:超時(shí)時(shí)間間隔
    這些選項(xiàng)設(shè)置連接屬性的值,也可用 DBSETPROP( ) 函數(shù)設(shè)置。
    A:連接(秒) 以秒為單位指定連接超時(shí)時(shí)間間隔。
    B:查詢(秒) 以秒為單位指定查詢超時(shí)時(shí)間間隔。
    C:空閑時(shí)間(分鐘) 以分鐘為單位指定空閑超時(shí)時(shí)間間隔。在指定的時(shí)間間隔后,活動連接變?yōu)椴换顒印?BR>    D:等待時(shí)間(豪秒) 以毫秒為單位指定在 Visual FoxPro 確定 SQL 語句是否執(zhí)行完畢之前經(jīng)過的時(shí)間。 設(shè)定完畢后按下CTRL+W 鍵存盤。