【TechTarget中国原创】问:我们想将数据通过以下命令从DB2表到出到flat file文件中:
db2 -tvf file.sql -z file.out |
但是导出后得到如下结果:(如,导出结果包括sql、列表名以及?EURoe2 record(s) selected?EUR?):
select tabname from syscat.tables where tabschema = 'VSC' TABNAME VEHICLE_TEMP VSC_DASHBOARD_INTER 2 record(s) selected. |
但我们只需要导出文件中的一些记录,如下所示:
VEHICLE_TEMP VSC_DASHBOARD_INTER |
请您帮我完成这个查询。
答:你需要运行的导出命令应该指定了相应的文件格式。导出命令从数据库导出到操作系统文件中,可能是内部文件格式之一。用导出命令/工具进行数据到出时会用到以下信息:
*SQL SELECT语句指定要导出的数据。
*操作系统文件的路径和名称将保存导出的数据。
*文件中数据的格式可以是IXF、WSF或 DEL。
你可能会像下载一个(免费)IBM DB2 Data Movement Utilities Guide and Reference 版本,这个版本还包括了怎样拟定导出命令和各种格式的定义。
你也许会对创建一个用逗号分割的文件。在这种情况下,你可以用DEL格式(限定的ASCII)。A Delimited ASCII (DEL)文档就是一个包括行和列分隔符的连续的ASCII文档。每个DEL文档都是一串 ASCII字符,这些字符又由单元格值组成。单元格值之间的顺序由行和列进行调整。数据流中的行由行分隔符分开。创建ASCII定界文档(指定逗号为分隔符),你的结果文件就会是如下所示:
"Smith, Bob",4973,15.46 "Jones, Bill",12345,16.34 "Williams, Sam",452,193.78 |
以下是导出ASCII定界输出结果:
db2 export to test.del of del select tabname from syscat.tables where tabschema ='VSC'; |
我认为学会用数据导出命令或复制工具的最好方法就是用SQL备份数据库。