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