抽取远程数据库,然后将远程数据库的 FILE 消息系统替换为 HTTP 消息系统。
前提条件
您必须具有 SYS_REPLICATION_ADMIN_ROLE 系统角色。
从 c:\tutorial\rem 目录运行以下命令,创建远程数据库 (rem):
dbinit -dba DBA,sql rem.db |
在本课中,将使用 dbxtract 创建远程数据库。运行以下命令从统一数据库抽取 rem 用户的数据库,并使远程数据库的数据库服务器在抽取之后保持运行状态:
dbxtract -xx -ac "SERVER=rem;DBN=rem;dbf=c:\tutorial\rem\rem.db;UID=DBA;PWD=sql;autostop=no" -c "SERVER=cons;DBN=cons;UID=DBA;PWD=sql" rem |
如果目前尚未连接到远程数据库 (rem),则运行以下命令:
dbisql -c "SERVER=rem;DBN=rem;UID=DBA;PWD=sql" |
统一数据库使用 FILE 消息系统,因此当 dbxtract 运行时,它将创建 SQL Remote 定义,此定义假定 rem 远程数据库也将使用 FILE 消息系统。要配置远程数据库以使用 HTTP 消息系统,可针对远程数据库 (rem) 执行以下语句,以删除此远程数据库的 FILE 消息系统:
CREATE REMOTE TYPE "FILE" ADDRESS ''; SET REMOTE FILE OPTION public.directory=''; SET REMOTE FILE OPTION public.debug=''; |
针对远程数据库 (rem) 执行以下语句,以为此远程数据库配置 HTTP 消息系统:
CREATE REMOTE TYPE "HTTP" ADDRESS 'rem'; GRANT CONSOLIDATE TO "cons" TYPE "HTTP" ADDRESS 'cons'; SET REMOTE HTTP OPTION public.user_name='rem'; SET REMOTE HTTP OPTION public.password='rem'; SET REMOTE HTTP OPTION public.debug='yes'; SET REMOTE HTTP OPTION public.https='no'; SET REMOTE HTTP OPTION public.url='localhost:8033'; COMMIT; |
验证远程数据库 (rem) 在抽取后是否包含二行存在于统一数据库中的数据;执行下列语句来查看 employees 表的内容:
SELECT * FROM employees; |
查询将返回 employees 表中的以下数据,不过 hire_date 列将包含插入行的时间,而非在以下表中所看到的值:
employee_id | first_name | last_name | hire_date |
---|---|---|---|
1 | Kelly | Meloy | 2011-03-25 08:27:56.310 |
2 | Melisa | Boysen | 2011-03-25 08:27:56.310 |
与 Interactive SQL 断开连接。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |