missautumn's BLOG

devote to innovation of technique

创建 ODBC 数据源以连接到 Windows CE 设备[SQL Anywhere]

开放式数据库连接 (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

posted on 2007-06-26 11:45 william 阅读(1297) 评论(0)  编辑 收藏 引用 所属分类: Database(MSSQL,Oracle,Sybase)


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理