浅谈DB2数据库所支持的外部文件格式

来源 :网络与信息 | 被引量 : 0次 | 上传用户:ccbone
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在DB2数据库维护中,有项工作可能经常需要处理。如在数据库投入生产使用之前,往往需要在数据库中建立大量的信息。这步工作很多都是通过数据导入来完成的,即将数据直接从某个文件中导入到数据库系统中。
  在数据导入之前,DB2数据库系统往往会对外部文件的格式进行仔细的检查。如果外部文件的格式不符合数据库的强制性要求。数据库就会拒绝导人数据。笔者这次要给大家介绍的就是DB2数据库支持哪些外部文件格式。希望通过这个分析能够帮助数据库管理员减轻数据导入导出过程中的工作量。
  
  一、定界的ASCII文件
  
  定界的ASCII文件,在数据库领域内应用的是比较广泛的。基本上任何一个数据库都支持这种格式的外部文件。不过各个数据库对于定界ASCII文件的分隔符的要求是不同的。在DB2数据库中,分隔符好用来标识数据元素的起始位置和结束位置。一般来说,DB2数据库支持如下几种分隔符。一是字符分隔符。这个字符分隔符主要用来界定字符型数据类型的起始位置。默认情况下,在DB2数据库(提高DB2数据备份与恢复的效率)中使用双引号来作为字符分隔符。这个跟其他数据库有所不同。如在Oracle数据库中,利用定界的ASCII文件导入数据的时候,其会自动判断数据是否是字符型的数据类型。即不需要使用这个字符分隔符。二是列分隔符。即用来界定字段的起始位置。大部分情况下,都采用逗号(英文状态)来作为列的分隔符。不过用户可以根据自己的需要来设置不同的列分隔符,如冒号或者分号等等。无论是哪一种符号来做列分隔符,一般情况下都需要满足一个前提条件,即必须是英文输入环节下的符号。如果是中文状态下的逗号或者分号,则会当作普通字符来对带。三是行分隔符。行分隔符是一个比较特殊的分隔符,因为其所采取的操作系统平台不同,其采用的行分隔符是不同的。如在Windows操作系统上,行分隔符就是普通的换行符。而在Linux等操作系统上,虽然也是换行符,但是两个操作系统上换行符是不同的。如在Linux操作系统上打开Windows操作系统上建立的定界ASCII文件。则格式会混乱。如所有记录在同一行中显示,好像没有分行一样。为此在导入数据时,如果这个定界文件是在Windwos操作系统上建立的,而DB2数据库则是不属在Linux操作系统上,就无法正常导入导DB2数据库中。而需要先对格式进行转换,将换行符转换为Linux操作系统所能够识别的换行符。这一点数据库管理员必须要引起足够的重视。
  根据上面的规则,如下记录就是DB2数据库所能够支持的格式:
  1001,“office”,2323.“BeiJing”,-233
  注意,如果在外部文件中,字符串的值中包含列分隔符时(如逗号列分隔符),则这个字符串分隔符是必须的。也就是说,如果要导人的数据是字符型数据,必须要使用双引号括起来。如果没有列分隔符号,则这个字符串分隔符号可有可无。如Bei,Jing这个字符串,如果不用双引号括起来,DB2数据库系统就会认为他是两个字段,而不是一个字符串。此时就需要使用字符分隔符将其引用起来,告诉数据库系统这是一个字符串。虽然这个定界的ASCII文件可以用来转换大多数的数据类型,如字符型数据、数字型数据、日期型数据等等。但是如果外部文件中包含二进制数据,则采用这个定界的ASCII文件不是很好的选择。另外就是如果文件建立的平台与DB2数据库所在的平台所采用的操作系统平台不同,也不建立采用这个ASCII定界文件。如果遇到这种情况,笔者建议采用PC集成交换格式的外部文件。最后需要提醒的是,在定界的ASCII文件中,数据行的最大长度没有限制。但是单独列的值的最大长度不能够超过32KB。则只是从ASCII文件的角度来说的。在将文件导入到数据库的时候,还需要注意DB2数据库表中字段的大小能否容纳这个外部文件中字段的值。
  
  二、固定记录长度的ASCII文件
  
  DB2数据库还支持固定长度的ASCII外部文件格式,有时候也将这种格式的文件叫做位置ASCII文件。固定记录长度位置的ASCII文件格式使用固定的字节偏移量来替代记录分隔符以决定各个字段的界限。简单的说,在这种文件格式下。文件中的每一个记录(记录中的每一个字段)都有固定的长度。如第N条记录的起始位置就是记录的固定长度乘以N的乘积决定。所计算出来的值就是从文件起点算起的字节偏移量。不仅记录行的长度是固定的,而且每条记录中每个列的值的起始位置和终止位置也是相同的。即每个字段的长度是相同的。不过字段实际内容没有达到这个固定宽度,则往往是使用空格符来代替。
  不过这个文件格式比起上面所讲的定界的ASCII文件有很大的缺陷。如制作这个文件非常的麻烦,而且很容易出错。多输入一个空格与少输入一个空格都会导致数据库导入错误。如中文字符与英文字符所占的位置是不同的。如果数据文件中同时包含中文与英文字符的话,那么这个固定长度就很难控制。所以说,笔者跟很多数据库管理员一样,并不建立采用这个固定长度的ASCII文件格式。如果一定要使用,那么也要采用专业的工具来转换这个文件。如在Linux操作系统中,可以利用重定向符号来制作固定宽度的ASCII文件。总之,如果手工建立这个文件,则出错的可能性很大。现在的DB2数据库系统,虽然某些导人工具还支持这种格式的外部文件。但是在数据导出的时候,已经放弃了这个格式。可见这种格式的文件正在退出历史舞台。
  
  三、二进制格式的文件
  
  以上两种文件有一个共同的特点,即都不是以二进制形式存储的。为此他们在应用的时候会遇到一个兼容性的文件。如在Linux操作系统平台上将某张表导出为ASCII文件。在Windows操作系统平台上,无法将这个文件导入到DB2数据库系统中。主要是因为同样是ASCII文件,在不同的操作系统中(如Linux操作系统或者Windows操作系统),其存储的格式是不同的。为此通过ASCII文件是无法在不同的操作系统上进行数据互导的。其实不光是DB2数据库遇到这种困扰,在Oracle数据库也是如此。
  为了解决问题,在DB2数据库中涉及了二进制格式的外部文件。这个二进制格式的数据文件主要有两种,分别为PC集成交换格式和工作表单格式。PC集成交换格式文件主要用于在不同的操作系统平台上,如Linux、Windows操作系统平台上的DB2数据库表之间进行数据传递。即通过这种格式的二进制文件。可以将数据从Linux操作系统上的数据库中导出来,然后导入到Windows操作系统上的DB2数据库中。这个文件主要的特点就是,其存储的不光是记录的内容,还存储了表结构的定义。而且因为是二进制格式的文件,所以在不同操作系统上可以容易的转移,而不用担心兼容性的问题。
  另外一种二进制文件的格式是工作表单格式。这也是DB2数据库产品的一种特殊的格式文件。这个工作表单格式文件的用途与PC集成交换格式的文件用途不同。PC集成交换格式文件主要用来解决的是不同操作系统平台上数据迁移时的兼容性问题。而这个工作表单格式的文件其主要用途则是用来解决DB2不同产品之间的数据迁移。如在DB2数据库与Lotus产品之间的数据迁移。虽然他们同样都是二进制文件,但是他们用途是不同的。为此数据库管理员需要根据不同用途来选择合适的文件格式。
其他文献
云南华电鲁地拉水电有限公司机组的技术供水系统配置了大量的插入式流量计,运行维护工作量大,流量计性能单一、质量不稳定,降低了机组自动化开机的成功率。通过分析论证,取消不必
采用多希腊字母(MGL)模型,借助Risk Spectrum软件对AP1000非能动余热排出系统(PRHRS)进行共因失效影响分析。针对是否考虑共因失效(CCF)分别进行计算,得出不考虑CCF时PRHRS的失效概
IT项目的失败率在商业环境中一直是偏高的。在失败的案例里,有的是因为超过预算,超过工期,有些是因为用户要求的变化,或用户要求的不切实际。BI作为IT的一个分支,自然也遇到
网络技术的飞速发展,将人类社会推入信息化时代,网络应用涉及到国家政治、经济、军事、文化等领域,如何提高计算机网络系统的安全性和可靠性成为世界各国共同关注的话题。本
Forrester Research公司的詹姆斯·斯坦顿最近表示云计算进入了“青春期”。但幸运的是,云计算不像青春期的少年一样叛逆。  云计算技术的使用还是很成熟的。但是这个成熟并不是说云计算已经成熟了,而是我们对于所有云活动都保持了严格的控制和管理,确保了云的安全性。同时我们还采取了许多措施来防止云计算可能造成的危害。云计算正在不断地发展,摆脱我们的掌控。他表示这个过程不是一个简单的过渡,企业应
在当今的技术浪潮中,人们普遍认为下一个重大事件就是云计算。届时IT资源的前景将会像电力应用一样,在墙上安装一个插头并且按使用量来计费。不管您喜欢与否,这都将成为现实。  Gartner对云计算的定义是:“云是一种计算方式。在这种方式中,借助互联网技术,将大规模具有可扩展性的IT相关功能作为服务提供给多个外部用户。”云计算可为用户带来如下主要优势:  首先。它避免了企业在IT方面的资本支出;  第二
內存作为电脑三大件之一,对电脑的整体性能起着至关重要的作用。现在的笔记本电脑厂商出于成本等因素考虑,出厂的绝大部分笔记本电脑一般配备了2GB的内存,明显是不能满足需要的。普通消费者怎么从琳琅满目的内存中挑选出价格适中并且与“原厂”内存拥有一样良好兼容性的产品呢?金士顿Alpha特级笔记本电脑内存的上市就给广大的消费者提供了一个良好的选择。  金士顿Alpha特级笔记本电脑内存,其优良的兼容性是业界
当电脑、手机等设备与无线路由器或AP相距较远的时候,随着信号的减弱.或者传输速率明显下降,无法实现与AP或其它电脑之间通讯,这时候我们就需要借助无线天线对所接收或发送的信号
網纹干扰也就是高频干扰,故障现象表现在电视机屏幕上图像画面出现网纹,或粗或细、或密或疏,或变化或静止,是电视发送、接收系统最常见的现象。有些是空间干扰,影响电视接收效果,但与发射机无关;而发射通道中的干扰,影响发射效果,也影响接收效果。笔者在长期电视发射工作中归纳了发射机产生网纹干扰的原因,有以下几个方面:  1 三音互调    三音互调是指图像载频、伴音载频、彩色副载波载频在同一通道中传输时,由
分析了小旁路机组快速减负荷(FCB)工况下给水控制的难点,及利用深度磨煤机辅机故障快速减负荷(RB),验证FCB工况下给水控制策略的可行性.提出了FCB工况下单汽泵自动控制给水的控制