文章的前面我简短地提到了SQL Anywhere的Ultralite配置选项。对于不需要完整的SQL数据库服务器(也就是集成安全性、存储过程、触发器、视图等等)服务的应用程序,Ultralite选项提供了可以使用C或Java API访问的基于文件的配置方法。这种方法提供了更大的简单性,包括不需要安装高级能力的费用和应用程序的灵活性。Ultralite应用程序要求在设计时定义一个Ultralite项目并预定义将使用的所有SQL语句。接着这些SQL语句在"预处理"进程(ulgen)中被集中生成必要地Java、C或C++源代码,接着这些代码被编译成父应用程序;当结果应用程序首次运行时,嵌入式的运行时将建立一个新的Ultralite数据库文件。Ultralite应用程序能通过MobiLink同步程序同步,与ASA数据库类似。前面我们提到,他们在数据库中没有提供任何数据处理逻辑或安全性,这个重担就交给应用程序开发者了。
连接到ASA
向ASA数据库的连接通过jConnect JDBC驱动程序实现,它包含在安装后的Sybase\Shared\jConnect-5_5目录的jconn2.jar文件中。为了从应用程序中访问这个JAR文件,只需要在类路径中简单地包含jconn2.jar ,与使用其它的Java文档一样。这个档案包含了Sybase地100%的JDBC驱动程序。它也替应用程序包含了希望使用JDBC-ODBC桥连接到RDBMS的独立的驱动程序。在任何JDBC应用程序中,第一步是建立一个可用于查询数据库的java.sql.Connection对象。下面的代码片断演示了如何实现它:
Properties props = new Properties();
props.put( "user", "admin" );
props.put( "password", "123456" );
Class.forName( "com.sybase.jdbc.SybDriver" ).newInstance();
String URL = "jdbc:sybase:Tds:localhost";
Connection conn = DriverManager.getConnection( URL , props );
上面代码建立的连接使用了"ServiceName"参数,它必须遵循下面的语法:
jdbc:sybase:Tds:machine-name:port-number?ServiceName=DBN
com.sybase.jdbc.SybDriver类允许我们使用SybDriver类的setRemotePassword()方法传递附加的参数。
查询数据库
在建立连接后,可以使用标准的java.sql类(例如PreparedStatement、Statement和RowSet)查询数据库并检索数据。因为这个概念对于Java开发者来说比较熟悉,我简单地给出了一个例子:
PreparedStatement tempStmt = conn.prepareStatement("select ID from CUSTOMER");
ResultSet result = tempStmt.executeQuery();
while (result.next()) {
ID = result.getInt(1);
}
result.close();
tempStmt.close();
Adaptive Server Anywhere数据库也支持在数据库自身内执行Java类。ASA运行时包含一个内部的Java VM(Java虚拟机),它允许Java类在数据库中配置和安装,接着就可以被SQL语句作为函数访问。你也可以把安装在数据库中的Java类作为表的列的数据类型。这种讨论的关键点是Java开发者是ASA世界中的一流的"市民",你可以使用的的强大的JDBC也可以在移动设备上使用。
相关专题
- 数据库专栏 (5150篇文章)
- 数据库处理专题 (8607篇文章)
- 城域网专题 (7812篇文章)
- 数据库安全技术专题 (13086篇文章)
- 数据库安装与卸载 (10507篇文章)
- ASP.NET教程 (8422篇文章)
- 电信运营商专栏 (4024篇文章)
- Wlan组网----家庭专题 (4184篇文章)
- Linux数据库宝典 (13020篇文章)
- FreeBSD使用教程 (6551篇文章)
- 基于pureXML技术的数据库表结构扩展 (4次浏览)
- 如何获得当前数据库对象依赖关系 (0次浏览)



