对于微软技术开发者来说发现Sybase为Adaptive Server Anywhere提供了ADO接口并不惊奇,它与ASAProv OLE DB提供程序和Adaptive Server Anywhere、Sybase Adaptive Server Enterprise (ASE)、 Oracle和DB2的iAnywhere ODBC驱动程序协同工作。ODBC驱动程序可以使用安装在你的系统中的标准的ODBC数据源管理器配置。在该管理工具中,点击"添加"建立移动销售数据库的新的数据源。选择Adaptive Server Anywhere 8.0驱动程序将出现"ASA ODBC配置"对话框(图13所示)。

图13:配置ASA ODBC连接
你会发现,我把本地数据源命名为MOBILE_SALES,当建立到mobile_sales.db数据库的ADO连接时我将使用这个DSN。一旦DSN配置好了,你就能够开始开发了。在微软Visual Basic 6.0中, 必须添加到ADO 2.5和ADO Recordset 2.5库的引用。实现方法是:从Visual Basic集成开发环境的"项目"菜单中选择"引用"。接着Visual Basic开发者(假定为移动Windows 2000/XP膝上型或平板电脑开发)就可以使用ADO对象了,包括Connection、 Recordset、Record和Field。为了建立到运行的ASA数据库的连接,标准的ADO语法如下:
Dim rs As ADODB.Recordset
conn.Open "Provider=ASAProv;Data Source=MOBILE_SALES;User Id=dba;Password=sql;"
Set rs = conn.Execute("select * from CUSTOMER")
Do While Not rs.EOF
'执行一些操作
Loop
conn.Close
Set conn = Nothing
Windows CE开发
如果Windows CE/Pocket PC应用程序开发对于你来说是个新事物,你会发现微软提供的移动平台的ADO API子集很有趣。Pocket PC 2002包括了ADOCE 3.0,它包含了"主要的"ADO对象,例如Connection、Recordset和 Field。HPC(手持式PC)专业版3.0设备、Palm PC 1.2和Pocket PC 3.0设备都支持ADOCE。SQL Anywhere Studio 8包含了Windows CE的Adaptive Server Anywhere OLEDB提供程序(在下面的文件中包含:dboledb8.dll、dboledba8.dll和dblgen8.dll)。ASA支持ODBC、OLE DB和Windows CE上的嵌入式SQL客户端,但是不支持大多数附加的ASA功能(例如交互式SQL、外部存储过程、数据库中的Java)。
对于Visual Basic编程语言熟悉的开发者在使用VB开发手持式设备时有两种选择。第一种是使用嵌入式Visual Basic 3.0开发工具包,它可以从微软网站上免费下载。该嵌入式Visual Tools 3.0安装文件也包含嵌入式Visual C++、SDKs和所有微软移动平台的模拟器。
MobileVB和UltraLite
第二种选择是AppForge Mobile VB,它允许在Visual Basic中建立单个应用程序,但是该应用程序可以被编译并配置到Palm OS设备上。本文中我将讨论如何使用Mobile VB访问某个UltraLite数据库。SQL Anywhere Studio 8包含了一个MobileVB UltraLite"结晶块"(AppForge的术语,指能够从Visual Basic代码中访问的组件)。这个"结晶块"是提供给Windows CE 设备的ulingot8.dll和提供给Palm OS设备的ulingot8.prc。这些文件都包含在\Program Files\Sybase\SQL Anywhere 8\ultralite\UltraLiteForMobileVB目录中(如果你选择了默认的安装路径是Program Files目录的情况)。
MobileVB UltraLite API与我们前面讨论的Java API类似。Java API使用的所有相同的对象现在都可以使用Visual Basic语法,包括ULDatabaseManager、ULConnection和ULTable。因为MobileVB UltraLite可以被配置到三种独立的平台(Win32、Palm和WinCE),在每个平台上指定数据库的位置是必要的,因为这三种操作系统的文件系统不同。可以在这三种操作系统上使用的连接字符串可能如下所示:
Dim dbLocation As String
dbLocation = "dbf=c:\mobile_sales
mobile_sales.udb;palm_db=mobsales;ce_file=
Program Files\Mobile Sales\mobile_sales.udb;"
为了建立大纲文件的位置也需要执行相似的操作,这样应用程序第一次运行的时候,UltraLite数据库才能被正确地建立。
Dim schemaLocation As String
schemaLocation = "schema_file=c:\mobile_sales
mobile_sales.usm;palm_schema=mobile_sales.usm;ce_schema=
Program Files\Mobile Sales\mobile_sales.usm"
当应用程序启动时,属性列表被组合并传递到ULDatabaseManager.CreateDatabase()方法中。如果这个方法成功的话,它会返回一个ULConnection对象,该对象可以用于检索表的内容。在Java UltraLite API中我们谈到,UltraLite 的MobileVB结晶块只包含非常基础的数据访问功能。如果你对在移动数据库上执行更多的操作有兴趣,你要么选择使用微软嵌入式Visual Tools或Java,从而对平台的支持有一定的限制,或者通过MobileVB访问提供给ASA的C语言的OLE DB接口。
相关专题
- 数据库专栏 (5150篇文章)
- 数据库处理专题 (8607篇文章)
- 城域网专题 (7812篇文章)
- 数据库安全技术专题 (13086篇文章)
- 数据库安装与卸载 (10507篇文章)
- ASP.NET教程 (8422篇文章)
- 电信运营商专栏 (4024篇文章)
- Wlan组网----家庭专题 (4184篇文章)
- Linux数据库宝典 (13020篇文章)
- FreeBSD使用教程 (6551篇文章)
- 基于pureXML技术的数据库表结构扩展 (4次浏览)
- 如何获得当前数据库对象依赖关系 (0次浏览)



