设置 SQL Remote 消息链接的消息控制参数。
SET REMOTE link-name OPTION [ userid.| PUBLIC.]link-option-name = link-option-value
link-name : file | ftp | http | smtp
link-option-name : common-options | file-options | ftp-options | smtp-options
common-options : debug | encode_dll | max_retries | output_log_send_on_error | output_log_send_limit | output_log_send_now | pause_after_failure
file-options : directory | invalid_extensions | unlink_delay
ftp-options : active_mode | host | invalid_extensions | password | port | root_directory | reconnect_retries | reconnect_pause | suppress_dialogs | user
http-options : | certificate | client_port | https | password | proxy | reconnect_retries | reconnect_pause | root_directory | url | user
smtp-options : local_host | pop3_host | pop3_password | pop3_port | pop3_userid | smtp_authenticate | smtp_option | smtp_password | smtp_port | smtp_userid | suppress_dialogs | top_supported
link-option-value : string
userid 如果不指定 userid,则假定为当前发布者。
common-options 这些选项是 FILE、FTP、HTTP 和 SMTP 消息系统共用的:
debug 可将此参数设置为 YES 或 NO。缺省值为 NO。设置为 YES 时,将显示消息系统特定的调试输出。此信息可用于解决消息系统中的问题。
max_retries 缺省情况下,当 SQL Remote 以连续模式运行并且在访问消息系统过程中出现错误时,它会在发送和/或接收阶段之后关闭。使用此参数可指定您希望 SQL Remote 在关闭之前重试发送和/或接收阶段的次数。
output_log_send_on_error 出现错误时发送日志信息。
output_log_send_limit 限制发送到统一数据库的信息量。output_log_send_limit 选项在输出日志的结束处(即最新条目)指定发送到统一数据库的字节数。缺省值为 5K。
output_log_send_now 设置为 YES 时,会将输出日志信息发送到统一数据库。下次轮询时,远程数据库将发送输出日志信息,然后将 output_log_send_now 选项重置为 NO。
pause_after_failure 当 max_retries 参数指定为零以外的值并且 SQL Remote 以连续模式运行时,可应用此参数。消息系统中出现错误时,此参数将定义 SQL Remote 在重试发送和/或接收阶段之间等待的秒数。
encode_dll 如果实现了自定义编码方案,必须将此参数设置为所创建自定义编码 DLL 的完整路径。
file-options 这些选项仅适用于 FILE 消息系统:
directory 存储消息的目录。此参数是 SQLREMOTE 环境变量的替换值。
invalid_extensions 在消息传递系统中生成文件时,不想让 SQL Remote 消息代理 (dbremote) 使用的文件扩展名的以逗号分隔的列表。
unlink_delay 在上次尝试删除文件失败的情况下,再次尝试删除前等待的秒数。如果未定义 unlink_delay 的值,则缺省行为将被设置为在第一次尝试失败后暂停 1 秒,在第二次尝试失败后暂停 2 秒,在第三次尝试失败后暂停 3 秒,在第四次尝试失败后暂停 4 秒。
ftp-options 这些选项仅适用于 FTP 消息系统:
active_mode 此参数用来控制 SQL Remote 如何建立服务器/客户端连接。可将此参数设置为 YES 或 NO。缺省设置为 NO(被动模式)。被动模式是首选传送模式,也是 FTP 消息链接的缺省模式。在被动模式下,所有数据传送连接都由客户端(此处为消息链接)启动。在主动模式下,所有数据连接都由 FTP 服务器启动。
host 运行 FTP 服务器的计算机的主机名。此参数可以是主机名(如 FTP.ianywhere.com)或 IP 地址(如 192.138.151.66)。
invalid_extensions 在消息传递系统中生成文件时不想让 dbremote 使用的文件扩展名的逗号分隔列表。
password 用于访问 FTP 主机的口令。
port 用于 FTP 连接的 IP 端口号。此参数通常不是必需项。
reconnect_retries 失败前链接尝试打开与服务器的套接字的次数。缺省值为 4。当您设置此参数时,只会影响重新连接。FTP 链接建立的初始连接不受影响。
reconnect_pause 每次连接尝试间停顿的时间(以秒为单位)。缺省设置为 30 秒。当您设置此参数时,只会影响重新连接。FTP 链接建立的初始连接不受影响。
root_directory 存储消息的 FTP 主机站点内的根目录。
suppress_dialogs 可将此参数设置为 TRUE 或 FALSE。如果设置为 TRUE,则在尝试连接到 FTP 服务器失败后,将不会出现 [连接] 窗口。相反会生成错误。
user 用于访问 FTP 主机的用户名。
http-options 这些选项仅适用于 HTTP 消息系统:
certificate 要创建安全 (HTTPS) 请求,客户端必须有权访问 HTTPS 服务器所用的证书。必要的信息在一个用分号分隔的键/值对字符串中指定。可以使用 file 键来指定证书的文件名称。不能同时指定 file 和 certificate 键。可以使用以下键:
按键 | 缩写 | 说明 |
---|---|---|
file | 证书的文件名 | |
certificate | cert | 证书本身 |
company | co | 证书中指定的公司 |
unit | 证书中指定的公司单位 | |
name | 证书中指定的公用名 |
只有被定向到 HTTPS 服务器的请求或可从非安全服务器重定向到安全服务器的请求才需要证书。仅支持 PEM 格式的证书。certificate='file=filename'
要在 SQL Anywhere 数据库中创建证书名:
CREATE OR REPLACE CERTIFICATE certificate_name FROM FILE 'certificate_file'; |
要使用 HTTPS 消息类型的证书名:
SET REMOTE HTTP OPTION user_name.certificate = 'cert_name=certificate_name'; |
client_port 标识 SQL Remote 使用 HTTP 进行通信的端口号。该子句是为通过防火墙的连接提供的,并建议只用于此类连接,因为防火墙会对 "外发" TCP/IP 连接进行过滤。您可以指定单个端口号、端口号范围或是两者的组合。如果操作系统在 SQL Remote 上次关闭端口后未及时释放端口,则指定较少数量的客户端端口可能会导致 SQL Remote 无法发送和接收消息。
debug 当设置为 YES 时,输出日志中将显示所有的 HTTP 命令及响应。此信息可用于解决 HTTP 支持问题。缺省值是 NO。
https 指定使用 HTTPS (https=yes) 还是使用 HTTP (https=no)。
password 消息服务器数据库口令。使用 RFC 2617 基本验证向第三方 HTTP 服务器和网关进行口令验证。
proxy_host 指定代理服务器的 URI。针对 SQL Remote 必须通过代理服务器访问网络时使用。指示 SQL Remote 将连接到代理服务器并通过它将请求发送到消息服务器。
reconnect_retries 失败前链接尝试打开与服务器的套接字的次数。缺省值为 4。当您设置此参数时,只会影响重新连接。FTP 链接建立的初始连接不受影响。
reconnect_pause 每次连接尝试间停顿的时间(以秒为单位)。缺省设置为 30 秒。当您设置此参数时,只会影响重新连接。FTP 链接建立的初始连接不受影响。
root_directory 在客户端指定该 HTTP 控制参数时,将忽略该参数。在调用 sr_add_message_server 或 sr_update_message_server 存储过程前,在消息服务器中定义该控制参数。使用 HTTP 消息系统时,为远程用户或发布者所指定的地址只能包含单个子目录,不能包含多个子目录。
url 指定服务器名称或 IP 地址,也可以指定当前使用的 HTTP 服务器的端口号(以分号分隔)。如果通过中继服务器传递请求,还可以选择添加 URL 扩展,以指示应将请求传递到哪个服务器群。
user 消息服务器数据库用户 ID。使用 RFC 2617 基本验证向第三方 HTTP 服务器和网关验证身份。
smtp-options 这些选项仅适用于 SMTP 消息系统:
local_host 本地计算机的名称。它在 SQL Remote 无法确定本地主机名的计算机上会有用。启动与任何 SMTP 服务器之间的会话时,都需要本地主机名。在大多数网络环境中,本地主机名可以自动确定,因而不需要此条目。
pop3_host 运行 POP 主机的计算机的名称。通常与 SMTP 主机的名称相同。它对应于 SMTP/POP3 登录窗口中的 POP3 主机字段。
pop3_password 用于检索邮件的口令。它对应于 SMTP/POP3 登录窗口中的口令字段。
pop3_port POP 服务器正在监听的端口的编号。缺省值为 110。它对应于 SMTP/POP3 登录窗口中的端口字段。
pop3_userid 用于检索邮件的用户 ID。该参数指 POP 用户 ID,它对应于 SMTP/POP3 登录窗口中的 [用户 ID] 字段。您必须向 POP 主机管理员索取用户 ID。
smtp_host 运行 SMTP 服务器的计算机的名称。它对应于 SMTP/POP3 登录窗口中的 SMTP 主机字段。
top_supported SQL Remote 在枚举进来的消息时,使用名为 TOP 的 POP3 命令。并非所有 POP 服务器都支持 TOP 命令。当将 top_supported 参数设置为 NO 时,SQL Remote 使用 RETR 命令,此命令效率较低,但可与所有 POP 服务器协同工作。缺省值为 YES。
smtp_authenticate 决定 SMTP 链接是否对用户进行验证。缺省值为 YES。将此参数设置为 NO 以关闭 SMTP 验证。
smtp_userid 用于 SMTP 验证的用户 ID。缺省情况下,此参数与 pop3_userid 参数使用相同的值。只有当用户 ID 与 POP 服务器的用户 ID 不同时,才需要设置 smtp_userid 参数。
smtp_password 用于 SMTP 验证的口令。缺省情况下,此参数与 pop3_password 参数使用相同的值。只有当用户 ID 与 POP 服务器的用户 ID 不同时,才需要设置 smtp_password 参数。
smtp_port SMTP 服务器当前正在监听的端口的编号。缺省值为 25。它对应于 SMTP/POP3 登录窗口中的端口字段。
suppress_dialogs 如果将此参数设置为 true,则在尝试连接到邮件服务器失败后,将不会出现 [连接] 窗口,相反会生成错误。
如果是首次使用消息链接,则当用户在消息链接窗口中输入消息链接参数时,SQL Remote (dbremote) 消息代理会保存消息链接参数。在这种情况下,不必显式使用此语句。此语句在准备统一数据库以便抽取许多数据库时最为有用。
选项名称区分大小写。选项值是否区分大小写取决于具体的选项:布尔值区分大小写,而口令、目录名和其它字符串是否区分大小写将取决于文件系统(对于目录名)或数据库(对于用户 ID 和口令)是否区分大小写。
发布者可以设置其自己的选项。否则,您必须具有 SYS_REPLICATION_ADMIN_ROLE 系统角色。
自动提交。
SQL/2008 服务商扩充。
对于用户 Sam_Singer 的 FTP 链接,以下语句将 FTP 主机设置为 ftp.mycompany.com:
SET REMOTE FTP OPTION Sam_Singer.host = 'ftp.mycompany.com'; |
以下语句使 SQL Remote 停止使用生成消息的指定文件扩展名:
SET REMOTE FTP OPTION "Public"."invalid_extensions"='exe,pif,dll,bat,cmd,vbs'; |
对于用户 Sam_Singer 的 HTTP 链接,以下语句将 URL 设置为指向本地主机:
SET REMOTE HTTP OPTION Sam_Singer.url='localhost:8033'; |
以下语句将 HTTP URL 设置为指向一个将请求转发到 srhttp 群的中继服务器:
SET REMOTE HTTP OPTION "public"."url"='iis7.company.com:80/rs/client/rs_client.dll/srhttp'; |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |