Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » UltraLite - Java 编程 » UltraLiteJ 应用程序开发

 

创建或连接到 UltraLite 或 UltraLite Java 版数据库

Java 应用程序必须先连接到数据库,然后才能对数据执行操作。本节介绍了如何使用 UltraLiteJ API 通过指定的口令创建或连接到 UltraLite 或 UltraLite Java 版数据库。

注意

要在不使用 UltraLiteJ API 的情况下创建 UltraLite 数据库,可以使用 Sybase Central 或 UltraLite 命令行实用程序。 有关详细信息,请参见UltraLite 数据库创建

要在不使用 UltraLiteJ API 的情况下创建 UltraLite Java 版数据库,可执行以下任务之一:

有关 UltraLite 和 UltraLite Java 版数据库之间的差异的详细信息,请参见UltraLite 和 UltraLite Java 版数据库

Configuration 对象用于配置数据库存储区。提供了 Configuration 对象的多种不同实现方式。UltraLiteJ API 支持的每种类型的数据库存储都存在唯一的实现方式。每种实现方式均提供了一组用于配置数据库存储的方法。

下表列出了支持的数据库存储区的可用 Configuration 对象实现方式:

存储类型 UltraLiteJ API 支持
Android 文件系统 请参见ConfigFileAndroid 接口 [Android] [UltraLiteJ]
RIM 对象 (BlackBerry) 请参见ConfigObjectStore 接口 [BlackBerry] [UltraLiteJ]
记录 请参见ConfigRecordStore 接口(仅限 J2ME)[UltraLiteJ]
Java SE 文件系统 请参见ConfigFile 接口 [UltraLiteJ]
非持久性(内存) 请参见ConfigNonPersistent 接口 [BlackBerry] [UltraLiteJ]
内部闪存和 SD 卡 请参见ConfigFileME 接口 [BlackBerry] [UltraLiteJ]

创建持久性数据库存储区时,可使用 Configuration 对象为 Java 应用程序设置持久性的形式。缺省情况下,将启用影子分页持久性。而将持久性 Configuration 对象的 setShadowPaging 方法设置为 false,可选择使用简单分页持久性。启用简单分页持久性后,可通过将持久性 Configuration 对象的 setWriteAtEnd 方法设置为 true 来设置最终写入持久性。

注意

最终写入持久性和简单分页持久性仅应用于符合以下条件的应用程序:容许数据丢失,可以轻松地重新创建数据库,或者数据库不会更新。

有关使用 Configuration 对象设置持久性和非持久性存储区的详细信息,请参见:

创建并配置 Configuration 对象后,可使用 Connection 对象来创建或连接到数据库。Connection 对象还可用于执行以下操作:

  • 事务   事务是提交或回退之间的一组操作。对于持久性数据库存储,提交操作可使上次提交或回退操作以后的所有更改成为永久性更改。回退操作能将数据库返回到调用上一个提交操作时其所处的状态。

    UltraLite 中每个事务和行级操作都是原子操作。涉及多列的插入操作要么是将数据插入到所有列,要么是不插入到任何列。

    必须使用 Connection 对象的 commit 方法将事务提交到数据库。

  • 预准备 SQL 语句   PreparedStatement 接口提供了用于处理 SQL 语句的方法。可使用 Connection 对象的 prepareStatement 方法创建 PreparedStatement。

  • 同步数   可以通过 Connection 对象访问用于控制 MobiLink 同步的一组对象。

通过 Java 应用程序创建或连接到数据库。

前提条件

实现 UltraLiteJ API 的 Android 设备或 BlackBerry 智能手机的现有 Java 应用程序。

上下文和注释

多个。

 ♦ 通过 Java 应用程序创建或连接到数据库
  1. 创建一个新的引用数据库名且适合于您的平台的 Configuration 对象。

    在以下示例中,config 为 Configuration 对象名称,DBname 为数据库名称。

    对于 Android 智能手机:

    ConfigFileAndroid config = 
        DatabaseManager.createConfigurationFileAndroid("DBname.udb");

    对于 BlackBerry 智能手机:

    ConfigObjectStore config = 
        DatabaseManager.createConfigurationObjectStore("DBname.ulj");
    ConfigFileME config =
    DatabaseManager.createConfigFileME( "file:///store/home/user/DBname.ulj" );
    ConfigFileME config =
    DatabaseManager.createConfigFileME( "file:///SDCard/DBname.ulj" ); 

    对于所有其它 Java ME 设备:

    ConfigRecordStore config = 
        DatabaseManager.createConfigurationRecordStore("DBname.ulj");

    对于 Java SE 平台:

    ConfigFile config = 
        DatabaseManager.createConfigurationFile("DBname.ulj");

    可以为所有平台创建非持久性数据库 Configuration 对象:

    ConfigNonPersistent config = 
        DatabaseManager.createConfigurationNonPersistent("DBname.ulj");
  2. 使用 Configuration 对象的方法设置数据库属性。

    例如,可以使用 setPassword 方法设置数据库口令:

    config.setPassword("my_password");

    对于 BlackBerry 智能手机,还可以使用 Configuration 对象设置数据库的持久性。以下示例将说明如何在创建数据库之前设置最终写入持久性:

    config.setShadowPaging(false);
    config.setWriteAtEnd(true);

    对于 Android 智能手机,可以使用 setCreationString 和 setConnectionString 方法分别设置其它创建参数和连接参数。

    有关创建参数和连接参数的详细信息,请参见:

  3. 创建 Connection 对象以创建或连接到数据库:

    要创建新的数据库,请使用以下代码创建 Connection 对象:

    Connection conn = DatabaseManager.createDatabase(config);

    DatabaseManager.createDatabase 方法用于创建数据库并向其中返回连接参数。

    要连接到现有数据库,请使用以下代码创建 Connection 对象:

    Connection conn = DatabaseManager.connect(config);

    connect 方法会结束数据库连接过程。如果该数据库不存在,则抛出错误。

结果

您可以通过 Java 应用程序执行 SQL 语句在数据库中创建表和索引,但不能更改某些数据库创建参数,如数据库的名称、口令或页面大小。

下一步

无。

 另请参见