使用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的数据《系统管理指南》