此教程说明如何设置提供冲突检测的脚本式上载。此教程创建脚本式上载所需的统一数据库和远程数据库、存储过程、发布和预订。
前提条件
本课假定您拥有在本教程(教程:使用脚本式上载)开头的“特权”部分中列出的角色和特权。
上下文和注释
此教程会指定文件名并假设这些文件位于当前目录中,即 scriptedupload。在实际的应用程序中,应指定文件的完整路径。
所提供的教程既可以只用于阅读,也可以通过剪切和粘贴文本来运行其中的示例。
运行以下命令创建存储教程文件的目录,并切换到该目录。
md c:\scriptedupload cd c:\scriptedupload |
运行以下命令创建统一数据库:
dbinit -dba DBA,sql consol.db |
下一步,运行以下命令定义统一数据库的 ODBC 数据源:
dbdsn -w dsn_consol -y -c "UID=DBA;PWD=sql;DBF=consol.db;SERVER=consol" |
要将数据库用作统一数据库,必须运行一个安装脚本,此脚本添加 MobiLink 使用的系统表、视图和存储过程。以下命令将 consol.db 设置为统一数据库:
dbisql -c "DSN=dsn_consol" "%SQLANY16%\MobiLink\setup\syncsa.sql" |
要打开 Interactive SQL 并使用 dsn_consol DSN 连接到 consol.db,请运行以下命令:
dbisql -c "DSN=dsn_consol" |
运行下面的 SQL 语句。这些语句在统一数据库上创建 employee 表,向该表中插入值,然后创建所需的同步脚本。
CREATE TABLE employee ( id unsigned integer primary key, name varchar( 256), salary numeric( 9, 2 ) ); INSERT INTO employee VALUES( 100, 'smith', 225000 ); COMMIT; CALL ml_add_table_script( 'default', 'employee', 'upload_insert', 'INSERT INTO employee ( id, name, salary ) VALUES ( {ml r.id}, {ml r.name}, {ml r.salary} )' ); CALL ml_add_table_script( 'default', 'employee', 'upload_update', 'UPDATE employee SET name = {ml r.name}, salary = {ml r.salary} WHERE id = {ml r.id}' ); CALL ml_add_table_script( 'default', 'employee', 'upload_delete', 'DELETE FROM employee WHERE id = {ml r.id}' ); CALL ml_add_table_script( 'default', 'employee', 'download_cursor', 'SELECT * from employee' ); |
执行此 SQL 后,使 Interactive SQL 保持运行状态并连接到统一数据库,因为随着课程的深入您将对此数据库运行更多的 SQL。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |