远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

input

说明 将数据从外部文件或键盘导入数据库表中。

语法 input into [ owner.]table_name

[ from filename | prompt]

[ format { ascii | dbase | dbasell | dbaselll | excel | fixed | foxpro | lotus }]

[ escape character character] [ escapes { on | off }

[ by order | by name ] [ delimited by string ]

[ column widths (integer , .. . ) ] [ nostrip ]

[ ( column_name, .. . ) ]

[ encoding {identifier | string}]

参数 from 子句

是作为加引号的字符串传递给服务器的文件名。因此,该字符串遵循 的格式要求与其它 SQL 字符串相同。需要特别指出的是:

要指明目录路径,必须用两个反斜杠表示反斜杠字符 (\)。要将 数据从 c: emp\input.dat 文件装载到 employee 表中:

input into employee

from 'c:nn temp nn input.dat'

路径名是相对于运行 Interactive SQL 的计算机的。

prompt

允许用户为一行中的每一列输入值。在窗口模式下运行时,会显示一 个对话框,用户可以在其中为新行输入值。如果用户是在命令行上运 行 Interactive SQL,则 Interactive SQL 会提示用户在命令行上输入每 一列的值。


format

每组值都必须遵循 format 子句指定的格式;或如果未指定 format 子句, 则必须遵循 set option input_format 语句设置的格式。用户输入命令后, 会显示一个对话框,供用户以输入格式在每行输入一个数据行。

某些文件格式包含有关列名和列类型的信息。

使用此信息,input 语句会在数据库表尚不存在时进行创建。这是一种 非常简单的将数据装载到数据库中的方法。以下格式包含创建表所需 的足够信息:dbaselldbaselllfoxpro lotus

从命令文件输入的操作由包含 end 的行终止。从文件输入的操作在文 件末尾被终止。

允许的 input 格式包括:

ascii – 假定输入行是 ASCII 字符,每个输入行占一行,值用逗号 分隔。字母字符串可以用撇号 (单引号)引起来,也可以用引号

(双引号)引起来。包含逗号的字符串必须用单引号或双引号引 起来。如果字符串本身包含单引号或双引号,则应使用双重引号

字符,才能在字符串中使用该字符。也可以选择使用 delimited by

子句指定其它分隔字符串,而不是使用缺省分隔符 (逗号)。

同时,系统还识别其它三种特殊序列。两个字符表示一个换行符, “\”表示单个 \,序列 \xDD 表示具有十六进制代码 DD 的字符。


dbase – 文件为 DBASEll DBASElll 格式。Interactive SQL 将尝 试基于文件中的信息来确定是哪种格式。如果表不存在,则创建 表。

dbasell – 文件为 DBASEll 格式。如果表不存在,则创建表。

dbaselll – 文件格式为 DBASElll。如果表不存在,则创建表。

excel – 输入文件格式为 Microsoft Excel 2.1。如果表不存在,则 创建表。

fixed – 输入行使用固定格式。请使用 column widths 子句指定列 宽。如果不指定列宽,则文件中的列宽必须与相应数据库列类型 的任何值所要求的最大字符数相同。

不能将 fixed 格式用于包含嵌入式换行符和文件尾字符序列的二进 制列。

foxpro – 文件为 FoxPro 格式。如果表不存在,则创建表。

lotus – 文件为 Lotus WKS 格式工作表。 input 假定 Lotus WKS 格 式工作表中的第一行为列名。如果表不存在,则创建表。在这种


情况下,由于文件中的信息适用于单元格而不是列,因此所创建 的列类型和列大小可能不正确。

escape character

十六进制代码和符号的缺省转义字符是反斜杠 (\),例如, \x0A 表示 换行字符。

可以使用 escape character 子句更改转义字符。例如,要将感叹号用作 转义字符,请输入:

... escape character '|'

只能使用一个单字节字符作为转义字符。

escapes

启用 escapes (缺省设置)后,数据库服务器将反斜杠字符后面的字 符识别并解释为特殊字符。换行符可以作为组合 \n 包含在数据中, 其它字符可以作为十六进制 ASCII 码包含在数据中,例如使用 \x09 表示制表符。连续两个反斜杠字符 (\) 解释为一个反斜杠。反斜杠后 跟除 nxX \ 外的其它任何字符都解释为两个单独的字符。例 如, \q 将插入一个反斜杠和字母 q

by

允许用户指定输入文件中的列是基于它们在列表中的序号位置

order,缺省值)还是按它们的列名 ( name ) 与表列进行匹配。并非所 有输入格式都在文件中包含列名信息。 name 只能用于具有列名的输 入格式。 dbaselldbaselllfoxpro lotus

delimited

允许指定要用作 ASCII 输入格式中的分隔符的字符串。

column widths

只能为 fixed 格式指定;它指定输入文件中列的宽度。如果未指定 column widths,则宽度由数据库列类型确定。如果在 fixed 格式中插入 long varchar binary 数据,请不要使用此子句。

nostrip

通常,对于 ASCII 输入格式,在插入值之前会从不带引号的字符串中 去除尾随空白。 nostrip 可用于禁止去除尾随空白。无论是否使用该选 项,都不会从带引号的字符串中去除尾随空白。而无论是否使用 nostrip 选项设置,都会从无引号的字符串中去除前导空白。

如果 ASCII 文件包含列显示为空值的条目,则将其视为 NULL。如果 该位置的列不能为 NULL,则会在数值列中插入零,在字符列中插入 空字符串。


encoding

允许指定用于读取文件的编码。 encoding 只能用于 ASCII 格式。

如果未指定 encodingInteractive SQL 将按如下方式确定用于读取文 件的代码页,列表中位置靠前的代码页值优先于位置靠后的值:

使用 default_isql_encoding 选项指定的代码页 (如果设置此选项)

启动 Interactive SQL 时使用 -codepage 选项指定的代码页

运行 Interactive SQL 的计算机的缺省代码页

示例 ASCII 文本文件中的一个 input 语句:

input into employee from new_emp.inp format ASCII

用法 input 语句允许向指定数据库表中进行高效的大量插入。输入行可通 过输入窗口从用户那里读取 (如果指定 prompt),也可从文件中读 取 (如果指定 from file_name)。如果两者均未指定,则从包含 input 语句的命令文件中读取。在 Interactive SQL 中,甚至可以直接从 “SQL 语句” (SQL Statements) 窗格中读取输入。在这种情况下,输 入以只包含字符串 end 的行结束。

如果为任何输入格式指定了列列表,则数据将插入到指定表的指定 列中。缺省情况下, input 语句假定输入文件中的列值显示顺序与它 们在数据库表定义中显示的顺序相同。如果输入文件的列顺序不 同,则必须在 input 语句的末尾列出输入文件的实际列顺序。

在本例中,创建一个名为 inventory 的表。若要从先包含名称值然 后是数量值的输入文件中导入 ASCII 数据,则必须在 input 语句的末 尾列出输入文件的实际列顺序,以便正确插入数据:

create table inventory ( quantity int,

item varchar(60)

)

顺序包含名称值和数量值的输入文件 stock.txt 中的 ASCII 数据:

'Shirts', 100

'Shorts', 60

input 语句末尾用于正确插入数据的输入文件实际列顺序:

input into inventory from stock.txt FORMAT ASCII

(item, quantity)


缺省情况下,在尝试插入导致错误的行时, input 将会停止。通过设 置 on_error conversion_error 选项,可以按不同的方式处理错误。 如果在 input 上截断任何字符串值,则 Interactive SQL 会在 “消息” (Messages) 窗格中输出警告。 NOT NULL 列中缺少的值将被设置为 零 (对于数值型列)或者设置为空字符串 (对于非数值型列)。如 果 input 尝试插入 NULL 行,则输入文件包含空行。

权限 必须对表或视图具有 insert 权限。




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------