日期:2014-05-16  浏览次数:20427 次

使用Interactive SQL java 备份数据库Sybase数据库
因为要备份IQ数据库的表数据,IQ又不能支持bcp,倒是有两个方法能够满足我的工作。
1)Sybase 客户端Interactive SQL java 真是好的不能再好。
2)直接在客户端上键入如下SQL
   select * from table >#  filename 
   这条语句能够将数据直接输入到客户端中去。很方便,其中filename不需要引号,如D:\\filename就行。
   select * from table >&  filename 
   该语句会连同相应的信息也一并输出到文件去。
3)使用如下选项
   set temporary option Temp_Extract_Apend=ON//会将数据添加到文件中,默认该选项为OFF,即是覆盖掉原有数据
   set temporary option Temp_Extract_Name1='filname'//如果不指定文件路径,就默认输出到
安装目录下的一个文件夹中,具体什么目录,unix环境下直接find一下就知道。指定文件路径的时候,那个文件夹必须要有相应的权限即用户名:组名都是sybase,不然会导出失败。
   select * from table //直接执行该SQL数据就导出到服务器上去。
   这种方法,对于导出大数据集很方便,很快。该方法还支持导出二进制文件,设置
   Temp_Extract_Binary=ON(默认为OFF)
4)至于将数导入到数据中去时候,以上两种方法都得使用
   LOAD TABEL 命令
   对于保存在服务器上的备份数据文件可以直接使用
LOAD TABLE Departments
( DepartmentID, DepartmentName, DepartmentHeadID )
FROM '/d1/MILL1/dept.txt'
ESCAPES OFF

对于在客户端上面的文件使用命令,只不过这个方法好像会涉及到安全策略问题,我自己有还没试验成功。
LOAD TABLE Departments
( DepartmentID, DepartmentName, DepartmentHeadID )
USE CLIENT FILE '/d1/MILL1/dept.txt'
ESCAPES OFF


以上,详细请参考Sybase IQ的数据《系统管理指南》