開放式數(shù)據(jù)庫連接 (ODBC) 接口是由 Microsoft Corporation 定義的,它是 Windows 環(huán)境中用于連接客戶端應(yīng)用程序與數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)接口。可通過指定連接參數(shù)來進(jìn)行連接。通常,可以方便地收集一組連接參數(shù),并將它們存儲到某個 ODBC 數(shù)據(jù)源中。ODBC 數(shù)據(jù)源是保存連接參數(shù)以供重復(fù)使用的簡便方法。
有關(guān)詳細(xì)信息,請參見使用 ODBC 數(shù)據(jù)源。
本節(jié)介紹如何在 Windows 桌上型計算機(jī)上創(chuàng)建 ODBC 數(shù)據(jù)源,以連接到 Windows CE 設(shè)備上運(yùn)行的數(shù)據(jù)庫。
創(chuàng)建 ODBC 數(shù)據(jù)源以連接到 Windows CE 設(shè)備
打開桌上型計算機(jī)上的 ODBC 管理器。
從 [開始] 菜單,選擇 [程序] > [SQL Anywhere 9] > [Adaptive Server Anywhere] > [ODBC 管理器]。
即會出現(xiàn) ODBC 管理器。
在 [用戶 DSN] 選項卡上,單擊 [添加]。
出現(xiàn) [創(chuàng)建新數(shù)據(jù)源] 對話框。
選擇 [Adaptive Server Anywhere 9.0],然后單擊 [完成]。
即會出現(xiàn) [ODBC 配置] 對話框。
在 [ODBC] 選項卡的 [數(shù)據(jù)源名稱] 字段中,鍵入數(shù)據(jù)源的名稱。
例如,鍵入 CEdevice。
在 [登錄] 選項卡上,選擇 [提供用戶 ID 和口令],并將 [用戶 ID] 和 [口令] 字段保留空白。
每次連接到數(shù)據(jù)庫時,您都需要提供用戶 ID 和口令。
提示
連接到數(shù)據(jù)庫時,缺省用戶 ID 為 DBA。缺省口令為 SQL。
在 [數(shù)據(jù)庫] 選項卡上,將 [服務(wù)器名] 字段保留空白。
每次從桌上型計算機(jī)連接時,您都必須指定服務(wù)器名。此名稱出現(xiàn)在 Windows CE 設(shè)備的 [服務(wù)器消息] 窗口的標(biāo)題欄中。
在 [網(wǎng)絡(luò)] 選項卡中,選擇 [TCP/IP] 復(fù)選框。
在相鄰字段中,鍵入連接參數(shù)。
例如,鍵入 host=127.0.0.1;DoBroadcast=none;VerifyServerName=NO。
Host 此參數(shù)指定 Windows CE 設(shè)備監(jiān)聽的 IP 地址。
如果您必須編輯注冊表才能連接到 Windows CE 設(shè)備,請使用缺省 IP 地址 127.0.0.1。
有關(guān)詳細(xì)信息,請參見編輯注冊表。
否則,請使用 Windows CE 設(shè)備的 IP 地址。
有關(guān)詳細(xì)信息,請參見確定 Windows CE 設(shè)備的 IP 地址。
有關(guān)詳細(xì)信息,請參見使用 TCP/IP 協(xié)議。
DoBroadcast 此參數(shù)控制進(jìn)行 TCP/IP 連接的方式。
如果指定 DoBroadcast=none,則直接使用指定的端口進(jìn)行 TCP/IP 連接。如果您必須編輯注冊表才能連接到您的 Windows CE 設(shè)備,則使用此設(shè)置。
有關(guān)詳細(xì)信息,請參見編輯注冊表。
當(dāng)指定 DoBroadcast=direct 時,要搜索數(shù)據(jù)庫服務(wù)器,不需要對本地子網(wǎng)執(zhí)行廣播。但需要提供主機(jī) IP 地址。
有關(guān)詳細(xì)信息,請參見確定 Windows CE 設(shè)備的 IP 地址。
單擊 [確定] 以創(chuàng)建該數(shù)據(jù)源。
現(xiàn)在,您可以使用剛創(chuàng)建的數(shù)據(jù)源從桌上型計算機(jī)連接到 Windows CE 設(shè)備上運(yùn)行的數(shù)據(jù)庫。
編輯注冊表:
1.停止桌上型計算機(jī)和 Windows CE 設(shè)備上運(yùn)行的所有 Adaptive Server Anywhere 數(shù)據(jù)庫服務(wù)器。
2.將 Windows CE 設(shè)備從其底座中取出。
3.打開桌上型計算機(jī)上的注冊表編輯器。
4.在命令提示符處鍵入 regedit。
5.在注冊表編輯器中,打開下面的項 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\ProxyPorts。
從 [編輯] 菜單中,選擇 [新建] > [DWORD 值]。
輸入名稱 ASA。
6.雙擊您剛剛創(chuàng)建的 ASA 項。
7.為其指定十進(jìn)制值 2638。
這是 Adaptive Server Anywhere 的缺省 TCP/IP 端口值。
注意
每次將 Windows CE 設(shè)備安裝到底座時,ActiveSync 會將端口 2638 上的通信轉(zhuǎn)發(fā)給該設(shè)備。因此,如果將 Windows CE 設(shè)備安裝到底座時啟動桌上型計算機(jī)上的服務(wù)器,則無法使用缺省端口 2638。如果出現(xiàn)這樣的問題,您可以選擇其它端口來專門傳輸 Windows CE 通信。
8.單擊 [確定]。
對Symbol設(shè)備的補(bǔ)充:
今天準(zhǔn)備連接Symbol MC9090的設(shè)備,居然odbc連接失敗,提示我"TCPIP requires a server name". 郁悶! :(
難道連Symbol的設(shè)備需要制定Server的名字? 立馬輸了密碼,還是不行!錯誤提示為"Database Server not found".
這下被雷了,沒折了! Go Google!折騰半小時也沒有鉤到什么. 最后自己瞎折騰了好久,試驗出一個解決的辦法. 步驟如下:
1.指定 DoBroadcast=direct (要搜索數(shù)據(jù)庫服務(wù)器,不需要對本地子網(wǎng)執(zhí)行廣播)
2.指定設(shè)備的IP 地址
最終的TCP/IP字符串類似為 host=169.254.2.1;DoBroadcast=direct;VerifyServerName=NO
Note: 原來的TCP/IP字符串 host=127.0.0.1;DoBroadcast=ALL;VerifyServerName=NO
Character Set: utf-8