Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (A-D)

 

ALTER SERVER 语句

此语句用于修改远程服务器的属性。

语法
ALTER SERVER server-name
[ CLASS server-class ]
[ USING connection-info ]
[ CAPABILITY cap-name { ON | OFF } ]
[ CONNECTION CLOSE [ CURRENT | ALL | connection-id ] ]
server-class :
  SAODBC 
| ASEODBC 
| DB2ODBC 
| MSSODBC
| ORAODBC 
| MSACCESSODBC 
| MYSQLODBC 
| ULODBC
| ADSODBC 
| ODBC 
| SAJDBC 
| ASEJDBC
connection-info :
computer-name:port-number[/dbname ] | data-source-name
参数
  • CLASS 子句   指定 CLASS 子句以更改服务器类。

    有关服务器的类及如何配置服务器的详细信息,请参见用于远程数据访问的服务器类

  • USING 子句   指定 USING 子句可更改服务器连接信息。有关 connection-info 的信息,请参见CREATE SERVER 语句

  • CAPABILITY 子句   CAPABILITY 子句可将服务器功能设置为 ON 或 OFF。服务器功能存储在系统表 ISYSCAPABILITY 中。通过 SYSCAPABILITYNAME 系统视图可访问这些功能的名称。在与远程服务器建立了第一个连接后,系统表 ISYSCAPABILITY 和系统视图 SYSCAPABILITYNAME 中才会填充数据。对于后面的连接,可从系统表 ISYSCAPABILITY 中获取数据库服务器的功能。

    通常情况下,不需要变更服务器的功能。但可能需要变更属于 ODBC 类的通用服务器的功能。

  • CONNECTION CLOSE 子句   当用户创建与远程服务器的连接时,此远程连接直到用户与本地数据库断开连接后才关闭。CONNECTION CLOSE 子句允许您显式关闭到远程服务器的连接。当远程连接处于非活动状态或不再需要时,您会发现此功能很有用。

    以下 SQL 语句是等效的,均可关闭到远程服务器的当前连接:

    ALTER SERVER server-name CONNECTION CLOSE;
    ALTER SERVER server-name CONNECTION CLOSE CURRENT;

    可以使用此语法关闭与远程服务器的 ODBC 连接和 JDBC 连接。执行这些语句不需要 DBA 权限。

    还可以通过指定连接 ID 来断开特定远程 ODBC 连接,或通过指定 ALL 关键字来断开所有远程 ODBC 连接。如果试图通过指定连接 ID 或 ALL 关键字来关闭 JDBC 连接,则会发生错误。如果由 connection-id 标识的连接不是当前本地连接,则用户必须具有 DBA 权限才能够关闭此连接。

注释

ALTER SERVER 语句修改服务器的属性。这些更改直到下次连接远程服务器之后才生效。

权限

必须具有 RESOURCE 权限。

副作用

自动提交。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下示例更改名为 ase_prod 的 Adaptive Server Entreprise 服务器的服务器类,以使其与 SQL Anywhere 的连接基于 ODBC。其数据源名为 ase_prod。

ALTER SERVER ase_prod
CLASS 'ASEODBC'
USING 'ase_prod';

以下示例更改服务器 infodc 的功能。

ALTER SERVER infodc
CAPABILITY 'insert select' OFF;

以下示例关闭了与名为 rem_test 的远程服务器的所有连接。

ALTER SERVER rem_test
CONNECTION CLOSE ALL;

以下示例关闭与连接 ID 为 142536 名为 rem_test 的远程服务器的连接。

ALTER SERVER rem_test
CONNECTION CLOSE 142536;