Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
打开与已在此计算机上运行的 dbmlsync 服务器的连接。
Public Function Connect( ByVal host As String, ByVal port As Int32, ByVal uid As String, ByVal pwd As String ) As Boolean
public Boolean Connect(String host, Int32 port, String uid, String pwd)
host 保留此值。使用 C# 时指定空值。使用 Visual Basic 时不要指定任何值。
port Dbmlsync 服务器所监听的 TCP 端口。使用通过 StartServer 方法所指定的相同端口值。
uid 在将要被同步的远程数据库上的具有 DBA 或 REMOTE DBA 权限的有效数据库用户 id。
pwd 由 uid 指定的用户的数据库口令。
已建立与此服务器的连接时返回 true;否则返回 false。返回 false 时,您可调用 GetErrorInfo 方法获取有关失败的详细信息。
使用提供了数据库用户 ID 和口令的连接字符串(例如 server_userid)启动 Dbmlsync 服务器(使用命令行或 StartServer 方法)。此外,Dbmlsync API 的 Connect 方法需要有效的数据库用户 ID(例如 client_userid)。
Client_userid 仅用于校验此客户端是否有足够的权限来同步数据库。执行同步时,使用 server_userid。
在 SQL Anywhere 12 及较早版本中,client_userid 和 server_userid 都需要 DBA 或 REMOTE DBA 权限。
在 SQL Anywhere 16 及更新版本中,server_userid 必须具有足够的特权才能进行同步。server_userid 至少必须具有 SYS_RUN_REPLICATION_ROLE 系统角色,但可能还需要其它特权才能允许同步。Client_userid 必须:
与 server_userid 相同,或者
具有 SYS_AUTH_DBA_ROLE 系统角色,或者
具有基于 server_userid 的用户扩展角色,例如 CREATE ROLE FOR USER server_userid;GRANT server_userid to client_userid;
虽然最后一个选项确保 client_userid 至少具有与 server_userid 相同数目的系统特权,但 server_userid 也有可能未将对象级特权授予其角色,因此 client_userid 可能没有这些特权。如果在同步期间使用这些特权,则表明 client_userid 已经有效地增加了执行该同步的特权。如果这不能接受,请确保将所有 server_userid 对象级特权都授予其用户扩展角色。