创建新 UltraLite 数据库。
此实用程序在以下其中一种模式下运行:
空模式 创建一个通过命令行参数来指定特性的空数据库。
抽取模式 基于 SQL Anywhere 数据库创建一个数据库。
系统会创建一个初始模式,以匹配 SQL Anywhere 参考数据库中的表和索引。此模式会抽取大量参考数据库特性,并用于新的 UltraLite 数据库。
ulinit options dbname
选项 | 说明 |
---|---|
@data | 此选项用于从指定的环境变量或配置文件中读入选项。如果存在具有相同名称的环境变量和配置文件,则使用环境变量。 请参见配置文件。 |
-a "keyword=value;..." 或 --SAconnect="keyword=value;..." |
将该实用程序设置为抽取模式,并使用指定的连接参数将其连接到现有数据库。 如果此选项不存在,该实用程序将使用指定的连接参数创建一个新的数据库(空模式)。 |
-c 或 --case |
空模式。 对所有字符串比较强制区分大小写。 |
-d 或 --datacopy |
抽取模式。 对于新 UltraLite 数据库中的各个表,将从 SQL Anywhere 数据库中相应表复制数据。除非使用该选项,否则新数据库最初是空的。 缺省情况下,不将此数据上载到后续同步中。要在下一次上载同步中包含此数据,使用 -i 和 -d。 |
--date_format=format |
空模式。 为从数据库检索得来的日期设置格式。请参见UltraLite date_format 创建参数。 |
--date_order=date-format-interpretation |
空模式。 设置日期格式的解释。请参见UltraLite date_order 创建参数。 |
-e value 或 --fips=value |
空模式。 On 或 off,1 或 0 等等。此选项通过使用 Certicom 认证的加密算法,控制 AES FIPS 认证的加密。请参见数据库安全和UltraLite fips 创建参数。 |
-f 或 --exactschema |
抽取模式。 如果在 UltraLite 中不支持确切的模式,则会出现故障;否则,如果模式不同,则会显示警告。 |
-g id 或 --databaseid=id |
将初始数据库 ID 设置为所指派的 INTEGER 值。此初始值与具有全局自动增量列的新行的分区大小一起使用。在部署应用程序时,必须为每个数据库指派不同的标识号范围,目的是为了与 MobiLink 服务器同步。 请参见UltraLite global_database_id 选项。 |
-i 或 --insertforupload |
抽取模式。 与 -d 一起使用。在下一次上载同步中包含已插入的行。缺省情况下,此实用程序插入的行不会在同步过程中上载。 |
--identity-file=file | 指定包含客户端 TLS 标识的文件。请参见identity。 |
--identity-password = password | 为客户端 TLS 标识指定口令。 请参见identity_password。 |
-k key 或 --key=key |
抽取模式。 指定加密数据库的加密密钥。 |
-K 或 --prompt |
空模式。 指定需要系统提示输入加密密钥。 |
-l filename 或 --sql=filename |
抽取模式。 执行时,将 DDL 数据库模式创建 SQL 语句记录到指定文件。 |
--log=filename |
空模式。 将操作记录到指定文件中。 |
-m filename 或 --mirror_file=filename |
抽取模式。 指定数据库镜像文件。请参见UltraLite MIRROR_FILE 连接参数。 |
--max_hash_size=size |
空模式。 以字节为单位设置缺省索引散列大小。请参见UltraLite max_hash_size 创建参数。 |
-n pubname 或 --publication=pubname |
抽取模式。 必需。将表添加到 UltraLite 数据库模式。 pubname 指定参考数据库中的发布。将发布中的表添加到 UltraLite 数据库中。 多次指定该选项可以将表从多个发布添加到 UltraLite 数据库。要将参考数据库中的所有表添加到 UltraLite 数据库中,指定 -n*。 |
--nearest_century=yy |
空模式。 控制字符串到日期的转换中对两位的年份的解释。请参见UltraLite nearest_century 创建参数。 |
-o value 或 --obfuscate=value |
空模式。 On 或 off,1 或 0 等等。控制是否对数据库中的数据进行模糊处理。模糊处理是一种简单的加密方式。请参见数据库安全和UltraLite obfuscate 创建参数。 |
-p size 或 --page_size=size |
空模式。 指定数据库页面大小。 |
--precision=precision |
空模式。 指定小数点算术结果中的最多位数。请参见UltraLite 精度创建参数。 |
-q 或 --quiet |
将实用程序设置为在安静模式下运行。取消信息性标题、版本号和状态消息。但是,仍然会显示错误消息和警告。 |
-r size 或 --reserve_size |
仅适用于数据库连接。 保留大小。请参见UltraLite RESERVE_SIZE 连接参数。 |
-s pubname 或 --sync_publication |
抽取模式。 在 UltraLite 数据库中创建一个发布,与参考数据库一样定义为 pubname。发布用于配置同步。提供多个 -s 选项以指定多个同步发布。 此发布中的表必须包含在用 -n 选项列出的发布中。 如果未提供 -s,则 UltraLite 远程数据库不会包含指定的发布。 有关如何为 MobiLink 同步创建发布的详细信息,请参见在 UltraLite 中发布数据。 |
-S checksum_level 或 --checksum_level=checksum_level |
空模式。 0、1 或 2。指定数据库页的校验和校验的级别。请参见UltraLite checksum_level 创建参数。 |
--scale=scale |
空模式。 指定算术结果被截断为最大精度值时小数点后的最小位数。请参见UltraLite 小数位数创建参数。 |
-t file 或 --rootcert=file |
指定包含受信任的根证书的文件。服务器验证需要此证书。 |
--time_format=format |
空模式。 为从数据库中检索得到的时间设置格式。请参见UltraLite time_format 创建参数。 |
--timestamp_format=format |
空模式。 为从数据库检索得到的时间戳设置格式。请参见UltraLite timestamp_format 创建参数。 |
--timestamp_increment=increment |
空模式。 确定 UltraLite 中时间戳的截断方式。请参见UltraLite timestamp_increment 创建参数。 |
--timestamp_with_time_zone_format= format |
空模式。 此选项用于设置从数据库检索的 TIMESTAMP WITH TIME ZONE 值的格式。请参见UltraLite timestamp_with_time_zone_format 创建参数。 |
-u <uid>,<pwd> 或 --dba=<uid>,<pwd> |
仅适用于数据库连接。 指定用户 ID 和口令。 |
--utf8_encoding=value |
空模式。 On 或 off,1 或 0 等等。使用 UTF-8 格式(Unicode 的 8 位多字节编码)对数据进行编码。请参见UltraLite 字符集和UltraLite utf8_encoding 创建参数。 |
-w 或 --nowarnings |
抽取模式。 不显示警告。 |
-x table 或 --exclude |
抽取模式。 排除列表中指定的表。 |
-y 或 --overwrite |
覆盖现有数据库文件。 |
-z collation-sequence 或 --collation=collation-sequence |
空模式。 指定归类序列。 |
-Z 或 --listcollation |
空模式。 列出可用的归类序列,然后退出。 |
-? 或 --help |
显示实用程序用法并退出。 |
如果说明中未指定,则可在任一模式下使用选项。
以抽取模式运行时,ULINIT 将尝试创建尽可能与 SQL Anywhere 数据库相匹配的 UltraLite 数据库。例如,如果 SQL Anywhere 数据库中的某个列包含 UltraLite 不支持的子句,则会忽略其缺省值而改用 UltraLite 的缺省值。同时生成警告并继续进行创建。当无法修改 SQL Anywhere 表,但可以获取合理的 UltraLite 替代项时,可采用此方法。要强制执行精确的模式匹配,可使用 -f 选项。如果该模式不支持合理的 UltraLite 替代方法,则 ulinit 实用程序会失败。
创建名为 customer.udb 的文件,该文件包含 TestPublication 中定义的表:
ulinit -a "DSN=MySADb;UID=JimmyB;PWD=secret" -n TestPublication -k mykey customer.udb |
此示例连接到在 MySADb 数据源中定义的一个 SQL Anywhere 数据库。它会创建一个 UltraLite 数据库,其中该数据库的所有数据库选项和所有表都包含在 TestPublication 发布中。新的 UltraLite 数据库名为 customer.udb,并使用密钥 mykey 进行加密。
创建名为 customer.udb 的文件,该文件包含两个不同的发布。具体地说,Pub1 可能包含用于优先级同步的一个小数据子集,而 Pub2 可能包含批量数据:
ulinit -a "DSN=MySADb;UID=JimmyB;PWD=secret" --exactschema -n Pub1 -n Pub2 -s Pub1 -s Pub2 customer.udb |
此示例连接到在 MySADb 数据源中定义的一个 SQL Anywhere 数据库。它会创建一个 UltraLite 数据库,其中该数据库的所有数据库选项和所有表都包含在发布 Pub1 和 Pub2 中。新的 UltraLite 数据库还会随发布 Pub1 和 Pub2 一起创建。由于设置了 --exactschema 选项,如果无法提取完全精确的模式,ulinit 将失败。
创建一个新的空白数据库会覆盖另一个 customer.udb 文件(如果存在)。新的数据库不具备任何模式,且所有的数据库选项均设为缺省值。
ulinit -y customer.udb |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |