随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!
如有Sybase数据库技术问题需要咨询,请联系我!
以下官方手册为ASE 15.7 ESD#2中文版:
- 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
- 新增功能摘要
- 新增功能指南
- ASE 15.7 发行公告
- 配置指南(windows)
- 安装指南(windows)
- 参考手册:构件块
- 参考手册:命令
- 参考手册:过程
- 参考手册:表
- Transact-SQL® 用户指南
- 系统管理指南,卷 1
- 系统管理指南,卷 2
- 性能和调优系列:基础知识
- 性能和调优系列:锁定和并发控制
- 性能和调优系列:监控表
- 性能和调优系列:物理数据库调优
- 性能和调优系列:查询处理和抽象计划
- 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
- 性能和调优系列:利用统计分析改进性能
- 程序员参考 jConnect for JDBC 7.0.7
- Adaptive Server Enterprise 中的 Java
- 组件集成服务用户指南
- Ribo 用户指南
- 内存数据库用户指南
- Sybase Control Center for Adaptive Server® Enterprise
- 安全性管理指南
- 实用程序指南
Transact-SQL 命令
以下各页按字母顺序介绍直接或间接影响外部表并进而影响组件集成服 务的 Transact-SQL 命令。对于每个命令,将提供它对组件集成服务的影 响的说明以及组件集成服务处理该命令的方式。有关每个命令的完整说 明,请参见 《参考手册》。
如果组件集成服务并未将某个命令的所有语法传递到远程服务器 (例 如, select 语句的所有子句),则为每个服务器类说明所传递的语法。
每个命令都被分为几个部分来加以描述:
• 说明 — 包含对命令的简要说明。
• 语法 — 包含命令的完整 Transact-SQL 语法的说明。
• 用法 — 包含一般性的、独立于服务器类的组件集成服务处理说明。
• 服务器类 ASEnterprise — 包含专门针对服务器类 ASEnterprise 的处 理说明。其中包括被转移到 ASEnterprise 类远程服务器的语法。
• 服务器类 ASAnywhere — 包含专门针对服务器类 ASAnywhere 的处 理说明。其中包括被转移到 ASAnywhere 类远程服务器的语法。
• 服务器类 ASIQ — 包含专门针对服务器类 ASIQ 的处理说明。其中包 括被转移到 ASIQ 类远程服务器的语法。
• 服务器类 direct_connect — 包含专门针对服务器类 direct_connect 的 处理说明。其中包括被转移到 direct_connect 类远程服务器的语法。 在这个版本中,所有适用于服务器类 direct_connect 的注释,同样适 用于服务器类 sds 。
服务器类
ASEnterprise
服务器类
ASAnywhere
组件集成服务将以下语法转移到配置为类 ASEnterprise 的服务器:
alter table [database.[owner].]table_name
{add column_name datatype [{identity | null}]
{[, next_column]}...}
| [drop column_name [, column_name]}
| modify column_name [data_type] [NULL] | [not null]] [, column_name]}
• 当用户使用 alter table 命令添加列时,组件集成服务将每列的数据类 型传递到远程服务器,而不进行类型名的转换。
• 仅限于 ASEnterprise 类服务器:如果 Adaptive Server 为 11.9.2 或更高 版本,且初始查询中包含 lock 子句,则还会转移此子句。
此类服务器对 alter table 的处理与 ASEnterprise 服务器相同。
服务器类 ASIQ • 此类服务器对 alter table 的处理与 ASEnterprise 服务器相同。
• 服务器类 ASIQ 完全支持 text 和 image 数据类型。
服务器类
direct_connect
• 组件集成服务将以下语法转移到配置为 direct_connect 类的远程服 务器:
alter table [database.[owner].]table_name add column_name datatype [{identity | null}]
{[, next_column]}...
• 虽然组件集成服务从 direct_connect 类服务器中请求功能响应,但对 alter table 的支持不是可选的。无论功能响应是什么,组件集成服务 都会将 alter table 转移到远程服务器。
• direct_connect 类服务器的行为取决于数据库。转移 Transact-SQL 语 法时可能会出现错误,也可能不出现错误,具体情况取决于远程数 据库处理此语法的能力。
• 服务器类 direct_connect 不支持 bigint、 unsigned tinyint、 unsigned smallint、 unsigned int、 unsigned bigint。
• 如果远程服务器的语法功能表明是 Sybase Transact-SQL,则将 Adaptive Server 数据类型发送到远程服务器。如果语法功能表明是 DB2 SQL,则发送 DB2 数据类型。
Direct Connect 不支持 bigint、 unsigned tinyint、 unsigned smallint、 unsigned int、 unsigned bigint。
表 3-10 显示了这些数据类型的映射情况:
表 3-10:alter table 的 DirectConnect 数据类型转换
Adaptive Server
数据类型
DirectConnect
缺省数据类型
binary(n) binary(n)
bit bit
char char
date date
datetime datetime
decimal(p, s) decimal(p, s)
float float
image image
int int
money money
numeric(p, s) numeric(p, s)
nchar(n) nchar(n)
nvarchar(n) nvarchar(n)
real real
smalldatetime smalldatetime
smallint smallint
smallmoney smallmoney
time time
timestamp timestamp
tinyint tinyint
text text
unichar unichar
unitext unitext
varbinary(n) varbinary(n)
varchar(n) varchar(n)
用法 当服务器接收到 alter table 命令时,它将命令传递给相应的访问方法, 如果:
• 要执行该命令的对象已与远程或外部存储位置相关联。
• 命令由一个 add column 请求组成。没有将添加或删除约束的请求传 递给访问方法;而是进行本地处理。
alter table 作为语言请求传递到远程服务器。
另请参见 《参考手册》中的 alter table
服务器类
ASEnterprise
服务器类
ASAnywhere
如果初始查询语法中存在 case 表达式,并不会导致查询优化程序拒绝快 速传递模式。
如果初始查询语法中存在 case 表达式,并不会导致查询优化程序拒绝 快速传递模式。
服务器类 ASIQ 没有为此类服务器设置处理 case 表达式的功能。在优化包含 case 表达 式的 SQL 语句时,如果存在 case 表达式,则会导致组件集成服务快速 传递优化拒绝该语句。一旦发生这种情况,本地 Adaptive Server 在从远 程服务器检索数据后必须计算出 case 表达式的值。
服务器类
direct_connect
处理 case 表达式的能力由 RPC sp_capabilities 的结果集决定。如果 direct_connect 指示它可以处理 case 表达式,则当使用快速传递模式处理 查询时,组件集成服务就会将它们转移到 direct_connect。
另请参见 《参考手册》中的 case。
服务器类
ASEnterprise
服务器类
ASAnywhere
当发出 disconnect 时,组件集成服务将 disconnect 转移到远程服务器,以 便从直通模式中将其关闭。如果未处于直通模式,则可能会发生语法错 误,但组件集成服务忽略这些错误,并且不会将它们转移到客户端。
当发出 connect 或 disconnect 时,不会与 ASAnywhere 发生交互。
服务器类 ASIQ 发出 connect 或 disconnect 时,不会与 ASIQ 发生交互。
服务器类
direct_connect
使用 direct_connect 类服务器发出 connect 时,将向 direct_connect 发送一 个 RPC:
sp_thread_props “passthru mode”, 1
发出 disconnect 时,如果已建立直通模式连接的服务器为 direct_connect, 则将向 direct_connect 发送一个 RPC:
sp_thread_props “passthru mode”, 0
另请参见 《参考手册》中的 commit
服务器类
ASEnterprise
• 表 3-11 描述了将远程 Adaptive Server 列映射到本地代理表的列时可 以使用的数据类型:
表 3-11:create existing table 的 Adaptive Server 数据类型转换
远程 Adaptive Server
数据类型 允许使用的 Adaptive Server 数据类型
binary(n) image 、 binary(n) 和 varbinary(n) ;如果不为
image,则长度必须匹配
bit bit、 decimal、 float、 int、 money、 numeric、 real、smallint、 smallmoney 和 tinyint
char(n) text 、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar 、 univarchar ;如果不为 text ,则长度必须匹配
datetime datetime、 smalldatetime、 char 和 varchar
decimal ( p , s ) bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
float bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
image image
int bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
money bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
nchar(n) text, nchar(n), nvarchar(n), char(n), varchar(n) ; 如果不为 text ,则长度必须匹配
numeric ( p , s ) bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
nvarchar(n) text 、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar 、 univarchar ;如果不为 text ,则长度必须匹配
real bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
smalldatetime datetime、 smalldatetime、 char 和 varchar
smallint bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
smallmoney bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
text text、 unitext
timestamp timestamp
tinyint bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
unichar char、 varchar、 unichar、 univarchar、 text、 datetime 和 smalldatetime
远程 Adaptive Server
数据类型 允许使用的 Adaptive Server 数据类型
univarchar char、 varchar、 unichar、 univarchar、 text、 datetime 和 smalldatetime
unitext unitext
varbinary(n) image 、 binary(n) 和 varbinary(n) ;如果不为
image,则长度必须匹配
varchar ( n ) text 、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar 、 univarchar ;如果不为 text ,则长度必须匹配
date time
bigint 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 int、 decimal、 numeric、 float、 real、
money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
unsigned tinyint 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
unsigned smallint 隐式:binary、 varbinary、 bit、 tinyint、
smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
unsigned int 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
远程 Adaptive Server
数据类型 允许使用的 Adaptive Server 数据类型
unsigned bigint 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
注释 组件集成服务仅支持对 Adaptive Server 15.0 和更高版本执行
unitext。
服务器类
ASAnywhere
• 表 3-12 描述了将远程 Adaptive Server 列映射到本地代理表的列时可 以使用的数据类型:
表 3-12:create existing table 的 Adaptive Server Anywhere 数据类型 转换
远程 Adaptive Server Anywhere 数据类型
允许使用的 Adaptive Server Anywhere
数据类型
binary(n) image 、 binary(n) 和 varbinary(n) ;如果不为
image,则长度必须匹配
bit bit、 decimal、 float、 int、 money、 numeric、 real、smallint、 smallmoney 和 tinyint
char(n) text 、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar 、 univarchar ;如果不为 text ,则长度必须匹配
datetime datetime 和 smalldatetime
decimal ( p , s ) bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
float bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
image image
int bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
money bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
numeric ( p , s ) bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
real bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
smalldatetime datetime 和 smalldatetime
smallint bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
smallmoney bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
text text
timestamp timestamp
tinyint bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
varbinary ( n ) image、 binary( n ) 和 varbinary( n ) 、 unichar、 unitext、 univarchar ;如果不为 image,则长 度必须匹配
varchar(n) text 、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar 、 univarchar ;如果不为 text ,则长度必须匹配
远程 Adaptive Server Anywhere 数据类型
date time
允许使用的 Adaptive Server Anywhere
数据类型
bigint 隐式:binary、 varbinary、 bit、 tinyint、
smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
unsigned tinyint 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
unsigned smallint 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
unsigned int 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
unsigned bigint 隐式:binary、 varbinary、 bit、 tinyint、 smallint、 unsigned smallint、 int、 unsigned int、 bigint、 unsigned bigint、 decimal、 numeric、 float、 real money、 smallmoney
显式:char、 varchar、 unichar、 univarchar
不支持:text、 image、 date、 time、 datetime、 smalldatetime
远程 Adaptive Server Anywhere 数据类型
允许使用的 Adaptive Server Anywhere
数据类型
nchar(n) text、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar、 univarchar ;如果不为 text,则长度必须匹配
nvarchar(n) text、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar、 univarchar ;如果不为 text,则长度必须匹配
服务器类 ASIQ • text 和 image 数据类型受 ASIQ 12.6 版支持并需要一个许可证。
• 与服务器类 ASAnywhere 的行为相同。
服务器类
direct_connect
• RPC sp_columns 查询现有表中列的数据类型。
• 本地列的数据类型不必与远程列的数据类型相同,但它们必须可以 互相转换 (如 表 3- 13 所示)。否则,将出现列类型错误,而且中止 该命令。
表 3-13:create existing table 的 DirectConnect 数据类型转换
DirectConnect
数据类型 允许使用的 Adaptive Server 数据类型
binary(n) image 、 binary(n)、 varbinary(n) ;如果长度不匹配,
则中止该命令
binary(16) timestamp
bit bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
char(n) text 、 nchar(n)、 nvarchar(n)、 char(n) 和 varchar(n)、 unichar 、 univarchar ;如果长度不匹配,则中止该 命令
datetime datetime、 smalldatetime
decimal ( p , s ) bit、 decimal、 float、 int、 money、 numeric、
real、 smallint、 smallmoney 和 tinyint
float bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
image image
int bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
money bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
nchar(n) text 、 nchar(n)、 nvarchar(n)、 char(n) 和 varchar(n)、 unichar 、 univarchar ;如果长度不匹配,则中止该 命令
numeric(p, s) bit、 decimal、 float、 int、 money、 numeric、
real、 smallint、 smallmoney 和 tinyint
nvarchar(n) text 、 nchar(n)、 nvarchar(n)、 char(n) 和 varchar(n)、
unichar、 univarchar ;如果长度不匹配,则中止该 命令
real bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
smalldatetime datetime、 smalldatetime
smallint bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
smallmoney bit、 decimal、 float、 int、 money、 numeric、 real、 smallint、 smallmoney 和 tinyint
text text
timestamp timestamp、 binary(8) 、 varbinary(8)
unichar text 、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、 unichar 、 univarchar ;如果不为 text ,则长度必须 匹配
DirectConnect
数据类型 允许使用的 Adaptive Server 数据类型
univarchar text 、 nchar(n)、 nvarchar(n)、 char(n)、 varchar(n)、
unichar、 univarchar ;如果不为 text,则长度必须
匹配
date time
bigint UDB 和 DC/Microsoft 支持 bigint。
• 数据类型信息在与该参数相关联的 CS_DATAFMT 结构中传递。下 面的结构字段包含数据类型信息:
• datatype — 表示 Adaptive Server 数据类型的 CS_Library 数据类 型。例如, CS_INT_TYPE。
• usertype — 本机 DBMS 数据类型。在执行 create existing table 命 令的过程中, sp_columns 将此数据类型作为其结果集的一部分 传回到组件集成服务 (参见 《参考手册》中的 sp_columns)。 Adaptive Server 在参数的 usertype 字段中返回此数据类型,以帮 助 DirectConnect 进行数据类型转换。
用法 当接收到 create existing table 命令时,将该命令解释为请求从对象远程或 外部位置导入元数据,以更新系统目录。通过将三个 RPC 发送到与对 象关联的远程服务器来导入此元数据:
• sp_tables — 检验远程对象实际是否存在。
• sp_columns — 获得远程对象的列属性,以便与 create existing table 中 定义的列属性相比较。
• sp_statistics — 获得索引信息以更新本地系统表 sysindexes。
另请参见 《参考手册》中的 create existing table
服务器类
ASEnterprise
服务器类
ASAnywhere
组件集成服务将除 on segment_name 以外的所有子句都转移到远程服 务器。
组件集成服务将除 on segment_name 以外的所有子句都转移到远程服 务器。
服务器类 ASIQ 组件集成服务将除 on segment_name 以外的所有子句都转移到远程服 务器。
服务器类
direct_connect
• 在将语言功能设置为 “Transact-SQL” 时,组件集成服务将除 max_rows_per_page 和 on segment_name 子句以外的所有语法转移到 远程服务器。
用法 如果要执行该命令的对象已与远程或外部存储位置相关联,则当服务器 接收到 create index 命令时,服务器将该命令传递给相应的访问方法。
该命令使用该类的相应语法重新构建,然后传递到远程服务器上执行。
create index 作为语言请求传递到远程服务器。
另请参见 《参考手册》中的 create index
服务器类
ASEnterprise
服务器类
ASAnywhere
组件集成服务在不进行转换的情况下,将每一列的数据类型传递到远程 服务器。
组件集成服务在不进行转换的情况下,将每一列的数据类型传递到远程 服务器。
服务器类 ASIQ 组件集成服务在不进行转换的情况下,将每一列的数据类型传递到远程 服务器。
服务器类
direct_connect
• 组件集成服务重新构造 create table,并将命令传递给目标 DirectConnect。网关将把这些命令转换为基础 DBMS 可以识别的 形式。
• Direct Connect 不支持 bigint、 unsigned tinyint、 unsigned smallint、 unsigned int、 unsigned bigint。
• 将 Adaptive Server 数据类型转换为 DirectConnect 语法模式数据类 型,(如 表 3-14 所示)。
表 3-14:create table 的 DirectConnect 数据类型转换
Adaptive Server 数据类型 DirectConnect 缺省数据类型
binary(n) binary(n)
bit bit
char char
datetime datetime
decimal(p, s) decimal(p, s)
float float
image image
int int
money money
numeric(p, s) numeric(p, s)
nchar(n) nchar(n)
nvarchar(n) nvarchar(n)
real real
smalldatetime smalldatetime
smallint smallint
smallmoney smallmoney
timestamp timestamp
tinyint tinyint
text text
unichar(n) unichar
univarchar (n) char(n) ,用于 bit 数据
varbinary(n) varbinary(n)
varchar(n) varchar(n)
date time
bigint UDB 和 DC/Microsoft 支持 bigint
用法 当服务器接收到 create table 命令时,就会将该命令解释为请求创建新表。 服务器调用要创建表的服务器类的相应访问方法。如果它为远程的,则 创建表。如果此命令成功,就会对系统目录进行更新,并将对象作为创 建它的数据库中的本地表显示到客户端。
使用服务器类的相应语法重新构建 create table。例如,如果服务器类是 direct_connect 并且远程服务器类是 DB2,则该命令在传递到远程服务器 之前使用 Adaptive Server Anywhere 语法重新构建。对于 Adaptive Server 环境特有的数据类型,将进行数据类型转换。
有些服务器类对于能支持或不能支持的数据类型有限制。
create table 作为语言请求传递到远程服务器。
另请参见 《参考手册》中的 create table
服务器类
ASEnterprise
服务器类
ASAnywhere
如果组件集成服务不能按原样转移原始查询,它会采用第 2 种方法执行
delete 命令。
如果组件集成服务不能按原样转移原始查询,它会采用第 2 种方法执行
delete 命令。
服务器类 ASIQ 如果组件集成服务不能按原样转移原始查询,则会发生错误,因为 ASIQ
不支持可更新游标。
服务器类
direct_connect
• 转移到 direct_connect 类服务器的语法取决于功能协商,功能协商是 在组件集成服务第一次连接到远程 DirectConnect 时完成的。可协商 功能的示例包括:子查询支持、 group by 支持和内置支持。
• 组件集成服务将数据值作为参数传递给游标或动态 SQL 语句。如果 DirectConnect 支持语言语句,则也可使用语言语句。这些参数采用 Adaptive Server 本机数据类型, DirectConnect 必须将它们转换为适 合目标 DBMS 的格式。
另请参见 《参考手册》中的 delete
服务器类
ASEnterprise
服务器类
ASAnywhere
组件集成服务将以下 drop index 语法转移到配置为 ASEnterprise 类的远程 服务器:
drop index table_name.index_name
组件集成服务在执行此语句之前,先执行 use database 命令,因为 drop index 语法不允许指定数据库名。
• 组件集成服务将以下 drop index 语法转移到配置为 ASAnywhere 类的 远程服务器:
drop index table_name.index_name
组件集成服务在执行此语句之前,先执行 use database 命令,因为
drop index 语法不允许指定数据库名。
服务器类 ASIQ 组件集成服务将以下 drop index 语法转移到配置为 ASIQ 类的远程服务器:
drop index table_name.index_name
组件集成服务在执行此语句之前,先执行 use database 命令,因为 drop index 语法不允许指定数据库名。
服务器类
direct_connect
组件集成服务将以下 drop index 语法转移到配置为 direct_connect 类的远 程服务器:
drop index table_name.index_name
用法 如果要执行该命令的对象已与远程或外部存储位置相关联,则当服务器 接收到 drop index 命令时,服务器将该命令传递给相应的访问方法。
drop index 使用该类的相应语法重新构建,并传递到远程服务器上执行。 此命令作为语言请求传递到远程服务器。
另请参见 《参考手册》中的 drop index
服务器类
ASEnterprise
服务器类
ASAnywhere
如果此游标是只读的,则在打开游标后,组件集成服务在接收到第一个 fetch 时向远程服务器发送一个语言请求。否则,组件集成服务通过 Client-Library 声明一个面向远程服务器的游标。
对 fetch 语句的处理与 ASEnterprise 相同。
服务器类 ASIQ 当打开游标后,组件集成服务在接收到第一个 fetch 请求时,向远程服 务器发送一个语言请求。
服务器类
direct_connect
组件集成服务处理此类服务器的方式与 ASEnterprise 中服务器的处理方 式相同。
另请参见 close、 deallocate cursor、 declare cursor、 open
《参考手册》中的 fetch
服务器类
ASEnterprise
服务器类
ASAnywhere
• 完全支持使用 values 关键字的 insert 命令。
• 除 text 和 image 之外的所有数据类型都支持使用 select 命令的 insert
命令。只有在 text 和 image 类型的列包含空值时,才支持它们。
• 如果所有 insert 和 select 表位于同一个远程服务器上,则将整个语 句转移到远程服务器上执行。这称为 “快速传递模式”。如果 select 语句不符合 select 命令的所有快速传递规则,则不使用快速 传递模式。
• 如果 select 表位于一个远程服务器上,而 insert 表位于另一个服务器 上,则组件集成服务从源表中选择每一行,然后将其插入目标表中。
• 您无法 insert 到计算列中。
对 insert 语句的处理与 ASEnterprise 相同。
服务器类 ASIQ 对 insert 语句的处理与 ASEnterprise 相同。
服务器类
direct_connect
• 完全支持使用 values 关键字的 insert 命令。
• 完全支持使用select命令的 insert 命令,但是如果表中存在 text 或 image 列,则此表必须具有唯一的索引。使用带 select 命令的 insert 时,如果符合以下条件,则将整个命令发送到远程服务器:
• 命令中引用的所有表均位于远程服务器上。
• 来自 DirectConnect 的功能响应表示支持 insert-select 命令。
• 如果使用 TopN 功能,则您必须具有 order by 子句。
如果两种条件都不符合,则组件集成服务从源表中选择每一行,然 后将其插入目标表。
• 组件集成服务将数据值作为参数传递给游标或动态 SQL 语句。如果 DirectConnect 支持语言语句,则也可使用语言语句。这些参数采用 Adaptive Server 本机数据类型, DirectConnect 必须将它们转换为适 合目标 DBMS 的格式。
另请参见 《参考手册》中的 insert
服务器类
ASEnterprise
服务器类
ASAnywhere
当基础表为代理表时,组件集成服务将以下语法转移到远程服务器:
readtext [[database.]owner.]table_name.column_name text_pointer offset size
[using {chars | characters}]
对 readtext 语句的处理与处理 ASEnterprise 相同。
服务器类 ASIQ 对 readtext 语句的处理与处理 ASEnterprise 相同。
服务器类
direct_connect
• 如果 DirectConnect 不支持文本指针,则不能发送 readtext,使用它 会出现错误。
• 如果 DirectConnect 支持文本指针,则组件集成服务将以下语法转移 到远程服务器:
readtext [[database.]owner.]table_name.column_name text_pointer offset size
[using {chars | characters}]
• 当必须读取 text 或 image 数据时,将发出 readtext。当 select 命令在 选择列表中引用了 text 或 image 列时,或者当 where 子句引用了 text 或 image 列时,将调用 readtext 。
例如,将代理表 books 映射到远程服务器 foo 上的表 books。其中的 列分别为 id、 name 和 blurb (text 类型)。当发出下述语句时:
select * from books
组件集成服务将以下语法发送到远程服务器: select id, name, textptr(blurb) from foo_books readtext foo_books.blurb @p1 0 0 using chars
另请参见 《参考手册》中的 readtext
服务器类
ASEnterprise
服务器类
ASAnywhere
• 支持所有语法。由于假定远程服务器具有处理 Transact-SQL 语法所 需的各种能力,因此使用快速传递模式将 select 命令的所有元素
(上面提到的除外)转移到远程服务器。
• 发出 select...into 命令且 into 表位于远程 Adaptive Server 上时,使用 批量复制传送将数据复制到新表中。必须通过将 dboption 设置为 select into / bulkcopy 来配置本地和远程数据库。
• 支持所有语法。由于假定远程服务器具有处理 Transact-SQL 语法所 需的各种能力,因此使用快速传递模式将 select 命令的所有元素
(上面提到的除外)转移到远程服务器。
• 如果使用 select...into 格式,且通过 ASAnywhere 接口访问 into 表,则 不使用批量插入功能。相反,组件集成服务使用 Client-Library 来准 备参数化的动态 insert 命令,并为该命令的 select 部分所返回的每一 行执行此命令。
服务器类 ASIQ • 支持所有语法。由于假定远程服务器具有处理 Transact-SQL 语法所
需的各种能力,因此使用快速传递模式将 select 命令的所有元素
(上面提到的除外)转移到远程服务器。
服务器类
direct_connect
• 当组件集成服务首次需要连接到 direct_connect 类服务器时,将对 DirectConnect 发出功能请求。组件集成服务根据响应来决定将 select 命令的哪些部分转移到 DirectConnect。大多数情况下,这取决于与 DirectConnect 交互的 DBMS 的功能。
• 如果不能使用快速传递模式将整个语句转移到 DirectConnect,组件 集成服务将对不能转移的功能进行补偿。例如,如果远程服务器不 能处理 order by 子句,则不使用快速传递,并且组件集成服务对结 果集执行排序。
• 组件集成服务将数据值作为参数传递给游标或动态 SQL 语句。如果 DirectConnect 支持语言语句,则也可使用语言语句。这些参数采用 Adaptive Server 本机数据类型, DirectConnect 必须将它们转换为适 合目标 DBMS 的格式。
• 支持 select...into 命令,但如果表中存在 text 或 image 列,则此表必须 具有唯一的索引。
• 如果使用 select...into 格式,且通过 DirectConnect 访问 into 表,则不 使用批量插入功能。相反,组件集成服务使用 Client-Library 来准 备动态 insert 命令,然后为该命令的 select 部分返回的每一行执行 此命令。
另请参见 《参考手册》中的 select
服务器类
ASEnterprise
服务器类
ASAnywhere
组件集成服务将 truncate table 命令转移到 ASEnterprise 类服务器。 组件集成服务将 truncate table 命令转移到 ASAnywhere 类服务器。
服务器类 ASIQ 组件集成服务将 truncate table 命令转移到 ASIQ 类服务器。
服务器类
direct_connect 和 sds
发送 Transact-SQL 语法:
truncate table [[ database.]owner.]table_name
另请参见 《参考手册》中的 truncate table
服务器类
ASEnterprise
服务器类
ASAnywhere
• 如果组件集成服务不能将整个语句传递到远程服务器,则表上必须 存在唯一索引。
• 除 text 和 image 以外的所有数据类型都完全支持使用 update 命令。 除非将 text 或 image 值设置为空,否则不能使用 update 命令更改 text 和 image 数据。而应使用 writetext 命令。
• 如果未使用快速传递模式,则从源表检索数据,然后使用为处理定 位 update 而设计的单独游标来更新目标表中的值。
对 update 语句的处理与处理 ASEnterprise 相同。
服务器类 ASIQ 对 update 语句的处理与处理 ASEnterprise 相同。
如果组件集成服务不能按原样转移原始查询,则会发生错误,因为 ASIQ
不支持可更新游标。
服务器类
direct_connect
• direct_connect 类服务器支持以下语法:
update [[database.]owner.]{table_name | view_name} set [[[database.]owner.]{table_name.|view_name.}]
column_name1 =
{expression1|NULL|(select_statement)} [, column_name2 =
{expression2|NULL|(select_statement)}]... [where search_conditions]
如果来自远程服务器的功能响应表示支持命令的所有元素,则符合 此语法的 update 命令均使用快速传递模式。可协商功能的示例包括: 子查询支持、 group by 支持和内置支持。
• 如果远程服务器不支持此命令的所有元素,或者此命令包含 from 子 句,则组件集成服务发出一个查询来获得 set 子句的值,然后向远 程服务器发出一个 update 命令。
• 组件集成服务将数据值作为参数传递给游标或动态 SQL 语句。如果 DirectConnect 支持语言语句,则也可使用语言语句。这些参数采用 Adaptive Server 本机数据类型, DirectConnect 必须将它们转换为适 合目标 DBMS 的格式。
另请参见 《参考手册》中的 update
服务器类
ASEnterprise
• 如果请求检索统计信息的表没有索引,组件集成服务将发出如下命令:
select count(*) from table_name
这也是在跟踪标志 11209 打开时发出的唯一命令。
• 如果表带有索引,而且在命令中指定了此索引,组件集成服务将发 出如下命令:
select count(*) from table_name
select count(*) column_name [,column_name, ...] from table_name
group by column_name [,column_name, ..] 列名代表组成索引的一个或多个列。 例如,发出如下命令时:
update statistics customers ind_name
组件集成服务发出以下命令:
select count(*) from customers
select count(*) last_name, first_name from customers
group by last_name, first_name
• 如果表带有一个或多个索引,但语句中未指定索引,组件集成服务 将发出 select count (*),然后为每个索引发出 select/order by 命令。
• 您必须使用远程登录使 sa_role 运行代理表上的 update statistic。
服务器类
ASAnywhere
• 在 Adaptive Server 15.0 或更高版本中,如果代理表指向分区表格, 则只导入全局统计信息。这些代理表中的被集合的统计信息,在 Adaptive Server 15.0 中不进行分区。
此服务器类中对 update statistics 的处理与 Adaptive Server 15.0 以前的服 务器版本相同。
服务器类 ASIQ 此服务器类中对 update statistics 的处理与 Adaptive Server 15.0 以前的服 务器版本相同。
服务器类
direct_connect
• 此服务器类对 update statistics 的处理与上述 ASEnterprise 服务器类的 处理方法相同。
• 如果 direct_connect 指示不能处理 group by 或 count(*) 语法,则不会 为 direct_connect 收集统计信息。
另请参见 《参考手册》中的 update statistics
服务器类
ASEnterprise
服务器类
ASAnywhere
利用与远程服务器的单独连接处理 writetext 命令。 利用与远程服务器的单独连接处理 writetext 命令。
服务器类 ASIQ 利用与远程服务器的单独连接处理 writetext 命令。
服务器类
direct_connect
如果 DirectConnect 支持文本指针,则组件集成服务将 DirectConnect 当 作一个 ASEnterprise 类服务器。
另请参见 《参考手册》中的 writetext
Sybase SQL Anywhere数据库恢复工具ReadASADB:
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。
Sybase SQL Anywhere数据库恢复工具ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:
1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back
Sybase ASE数据库恢复工具READSYBDEVICE:
一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。
Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:
- 被勒索病毒加密数据文件及备份文件情况下的恢复;
- 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
- 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
- delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
- 各种Sybase内部系统表损坏、索引错误的修复;
- master数据库损坏而无法正常运行情况下的恢复;
- Sybase数据库被标记为可疑,不可用等情况的恢复;
- Sybase数据库中数据文件内部出现坏块情况下的恢复;
- Sybase数据库无数据文件但有日志文件的情况下的恢复;
- Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
- Sybase数据文件被误删除情况下的碎片提取恢复;
- 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
- 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
- Sybase数据库还原数据库出现失败情况下的恢复;
- Sybase数据库只剩下损坏的备份文件情况下的恢复。
Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:
Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.xSQL Server数据库恢复工具SQLRescue:
一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。
SQL Server数据库恢复工具SQLRescue的主要功能:
- 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
- 断电导致数据库文件损坏情况下的恢复;
- 硬盘坏道造成数据库损坏情况下的恢复;
- 数据文件内部存在坏页情况下的恢复;
- 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
- 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
- 无法读取并闩锁页sysindexes失败情况下的修复;
- 数据文件被误删除情况下的碎片提取恢复;
- 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
- master数据库损坏而无法正常运行情况下的恢复;
- 数据文件无法附加情况下的数据恢复;
- 数据库被标记为可疑,质疑,不可用等情况的恢复;
- 数据库sysobjects等系统表损坏情况下的恢复;
- 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
- 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
- 数据库被误格式化等情况下的数据库恢复;
- 日志收缩造成数据库损坏情况下的恢复;
- 仅剩损坏的备份文件情况下的恢复。
SQL Server数据库恢复工具SQLRescue技术特点:
只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。- 从数据文件中直接恢复数据
- 不能附加时直接恢复数据并生成新的数据库
- 系统表损坏的数据库修复
- 快速修复SQL 823错误、连接中断错误
SQL Server数据库恢复工具SQLRescue支持的版本:
Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。+-------------------------------------华丽的分割线-------------------------------------------------------------------------