- 浏览: 1544004 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (532)
- 软件设计师 (7)
- PSP (5)
- NET MD (9)
- Hibernate (8)
- DIY (51)
- Work (43)
- GAME (24)
- 未分类 (44)
- iPod (6)
- MySQL (39)
- JSP (7)
- 日语能力考试 (36)
- 小说 (4)
- 豆包网 (23)
- 家用电脑 (7)
- DB2 (36)
- C/C++ (18)
- baby (9)
- Linux (13)
- thinkpad (23)
- OA (1)
- UML (6)
- oracle (24)
- 系统集成 (27)
- 脑梗塞 (6)
- 车 (8)
- MainFrame (8)
- Windows 7 (13)
- 手机 (8)
- git (12)
- AHK (2)
- COBOL (2)
- Java (9)
最新评论
-
安静听歌:
... ...
UUID做主键,好还是不好?这是个问题。 -
lehehe:
http://www.haoservice.com/docs/ ...
天气预报 -
lehehe:
[url http://www.haoservice.com/ ...
天气预报 -
liubang201010:
监控TUXEDO 的软件推荐用这个,专业,权威.并能提供报警和 ...
(转载)Tuxedo中间件简介 -
tinkame:
Next[j] =-1 当j=0时;=Max{k|0<k ...
KMP字符串模式匹配详解
在 DB2 中,LOAD 与 IMPORT 作为重要的导入数据的工具,有着很重要的作用。理想情况下,为了获得最佳性能,应用程序与从该应用程序调用的语句始终应使用相同的代码页。在一些场景中,我们需要导入一些和数据库本身的 codepage 不一致的数据,这个时候就需要 codepage 转换了。DB2 产品支持代码页转换,从而允许应用程序和数据库使用不同的代码页。那么什么是 codepage ? DB2 支持那些 codepage 转化? 如何进行 codepage 转换呢? 计算机处理文本时,把一门语言中每个字符都赋以特定的值,这种字符与数值的对照表就叫 codepage( 代码页 ) 。例如 ASCII 就是把英文字母表和一些控制字符映射到一些特定的数值上去。 关于 DB2 支持的 codepage 可以在 DB2 信息中心中查看: 在表中,每个 codepage 都有相对应的组,地域代码,代码集等。如果两个 codepage 属于同一个组,则它们可以互相转换,否则不可以互相转换。值得注意的是单字节(S)组可以转换成中性(N)组,双字节(D)组也可以转换为中性(N)组。但是 N 组不一定能转成 S 组,N 组也不一定成转成 D 组。 制造不同 codepage 数据的方法有很多种。以下列出 4 种: 1. 使用 db2 export。DB2 本身 EXPORT 支持导出各种不同 codepage 的 DEL 格式的文件,例如导出 codepage 为 819 和 1386 的文件,如清单 1 所示。 注意 export 不能直接导出 asc 格式的文件。 2. 使用 UltraEdit 来编辑,先得到各种不同 codepage 数据的十六进制代码(可以从网上搜索或者 GVT 网站上查取),然后编辑保存就可以了。 例如: “你” 在 GBK(1386) 中是 X ’ C4E3 ’ , 在 UTF-8(1208)中是 X ’ E4BDA0 ’ 3. 使用 Windows 操作系统下的 Microsoft Word 来制作数据,方式如下 设置 –〉控制面板—〉区域和语言选项,设置你需要的语言,然后可以使用 WORD 来另存为纯文本,选择其它编码来指定其编码。 4. 使用 vi 来设置 fileencoding 来达到目的 例如准备 codepage 为 1208 的数据: 提示:准备数字和字母这些比较方便,但是准备中文,日文等就不是很方便了。建议使用 UltraEdit 来准备这些诸如中文,日文语言的 codepage。 缺省情况下,LOAD 认为输入文件是用数据库代码页编码的,直接将文件转化为数据库 codepage 编码。如果输入文件不是以数据库 codepage 编码的,可以通过 codepage 修饰符来导入正确文件。而缺省情况下 DB2 IMPORT 实用程序认为输入文件中的数据是用当前系统的代码页编码的。当将数据文件导入到数据库时,DB2 会自动将数据文件从当前系统代码页转换成数据库代码页。如果输入文件不是当前系统的代码页编码的。也可以通过 codepage 修饰符来轻松导入正确文件。 所以一般来说,LOAD 直接把源数据的 codepage 转化为数据库的 codepage,而 IMPORT 则先将源数据的 codepage 转换为应用程序的 codepage,然后将应用程序的 codepage 再转换为数据库的 codepage。 这些例子都是在 DB2 V97 中实现的,以下实例用的是同一个数据库 db1386, 两个数据文件 data1386.del,data1208.del。 data1386.del 和 data1208.del 包含同样的数据第一列为 1,第二列为你,第三列为繜。但是编码方式不同。data1386.del 以 codepage 1386 编码,而 data1208 以 codepage 1208 编码。 Linux 上当前系统代码页可以通过 db2set db2codepage 来设置。另外需要 db2 terminate,使设置生效。 db codepage 是建 DB 时由 codeset,territory 决定的。例如: 可以通过以下命令查看 db 的 codepage。 数据 codepage 和 db codepage 一致时的 LOAD 缺省情况下 LOAD 认为数据 codepage 和 db codepage 一致,在这个例子中,导入成功。 结果如图 3 所示。 数据 codepage 和 db codepage 不一致时的 LOAD 这个例子属于不正确的 LOAD,没有做 codepage 转换,data1208.del 被当成 db codepage 编码存进了 db。 结果如图 4 所示。 LOAD 时数据 codepage 不会转成应用程序的 codepage data1208.del 不会转成应用程序的 codepage,而是直接当成 db codepage 编码存进 db。 结果如图 5 所示。 数据 codepage 和 db codepage 不一致时正确的 LOAD 在这种情况下正确的 load,数据的 codepage 和 modified by codepage 一致,如清单 5 所示。 结果如图 6 所示。 以下例子所用数据同上面 load 实例数据。 数据 codepage 和应用程序 codepage, db codepage 一致时的 IMPORT 缺省情况下认为应用程序 codepage 就是数据的 codepage。 结果如图 7 所示。 数据 codepage 和应用程序 codepage 一致 , 但和 db codepage 不一致时的 IMPORT 缺省情况下认为应用程序 codepage 就是数据的 codepage,可以正确的导入。 结果如图 8 所示。 数据 codepage 和应用程序 codepage 不一致时利用 modified by codepage 成功实现 import 的 codepage 转换 结果如图 9 所示。 数据 codepage 和应用程序 codepage 不一致时不正确的 import,没有实现 codepage 转换 把 data1208.del 当成应用程序 codepage 1386 编码的,数据库 codepage 也是 1386,不进行 codepage 转换。 结果如图 10 所示。 本文介绍了 LOAD,IMPORT 在不同情况下的 codepage 转换,以便使用户更好的理解 codepage 转换。 学习 获得产品和技术 讨论http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1007wucx/index.html
论 LOAD 与 IMPORT 中的 codepage 转换
清单 1. 导出 codepage 为 819 和 1386 的文件
db2 "export to data819.del of del modified by codepage=819
select * from tab1"
db2 "export to data1386.del of del modified by codepage=1386
select * from tab1"
图 1. 编辑‘你’的 GBK 代码
set fileencoding=utf-8
图 2. 设定 fileencoding
字符
GBK(1386) 代码点
UTF-8(1208) 代码点
你
X'C4E3'
X'E4BDA0'
繜
X'BF9F'
X' E 7B99C'
db2 create db db1386 using codeset GBK territory CN
db2 get db cfg for dbname |grep 'Database code page'
清单 2. LOAD 清单 1
db2 create db db1386 using codeset GBK territory CN
db2set db2codepage=1386
db2 terminate
db2 connect to db1386
db2 "create table t1(a int, b varchar(7),c varchar(10))"
db2 load from data1386.del of del replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 3. 查询结果 1
清单 3. LOAD 清单 2
db2set db2codepage=1386
db2 terminate
db2 connect to db1386
db2 load from data1208.del of del replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 4. 查询结果 2
清单 4. LOAD 清单 3
db2set db2codepage=1208
db2 terminate
db2 connect to db1386
db2 load from data1208.del of del replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 5. 查询结果 3
清单 5. LOAD 清单 4
db2set db2codepage=1208
db2 terminate
db2 connect to db1386
db2 load from data1208.del of del modified by codepage=1208
replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 6. 查询结果 4
清单 6. IMPORT 清单 1
db2set db2codepage=1386
db2 terminate
db2 connect to db1386
db2 import from data1386.del of del replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 7. 查询结果 5
清单 7. IMPORT 清单 2
db2set db2codepage=1208
db2 terminate
db2 connect to db1386
db2 import from data1208.del of del replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 8. 查询结果 6
清单 8. IMPORT 清单 3
db2set db2codepage=1386
db2 terminate
db2 connect to db1386
db2 import from data1208.del of del modified by codepage=1208
replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 9. 查询结果 7
清单 9. IMPORT 清单 4
db2set db2codepage=1386
db2 terminate
db2 connect to db1386
db2 import from data1208.del of del replace into t1
db2 "select hex(b) as b ,hex(c) as c from t1"
图 10. 查询结果 8
发表评论
-
(转)浅谈IBM DB2的数据库备份与恢复
2011-11-23 16:41 1847http://bzhang.mild.blog.163.com ... -
(转)DB2备份恢复数据库步骤
2011-11-23 16:23 952http://tech.it168.com/ibmtec ... -
(转)DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法
2011-11-07 15:03 9616http://blog.sina.com.cn/s ... -
(转)DB2解决“数据库日志已满”操作 SQLCODE=-964
2011-11-07 14:49 2692http://www.db2china.ne ... -
(转)用哪个DB2命令查看DB2 instance是启动还是停止的?
2011-09-30 13:25 3645http://bbs.chinaunix.net/thre ... -
(转)DB2导出数据库表结构和数据
2011-07-11 14:19 1564http://hi.baidu.com/mylovecha ... -
(转)DB2 9 中基于字符的字符串函数
2011-06-16 11:32 1429http://www.ibm.com/develo ... -
(转)db2look:生成 DDL 以便重新创建在数据库中定义的对象
2011-05-31 14:56 1646http://blog.csdn.net/hrfdotnet/ ... -
(转)【俊哥儿张】DB2:学习 DB2LOOK 命令
2011-05-31 14:54 1399http://space.itpub.net/770528 ... -
(转)Recreate optimizer access plans using db2look
2011-05-31 14:53 1267http://www.ibm.com/develo ... -
(转)DB2中ALTER TABLE为什么需要REORG操作?
2011-05-12 13:10 1685http://www.flatws.cn/article/ ... -
(转)DB2 3.2.2 表空间维护
2011-05-11 12:53 1183http://book.51cto.com/art/2 ... -
(转)DB2 数据类型
2011-05-11 12:52 4005http://hi.baidu.com/uvvv/blog ... -
(转)DB2 Basics: Table spaces and buffer pools
2011-05-06 15:29 1471http://www.ibm.com/develo ... -
(转)SQL1092N "USER" does not have the authority to perform therequested command -
2011-03-23 17:39 5483http://dbaspot.com/foru ... -
(转)DB2 sqlstate 57016 原因码 "7"错误详解
2011-03-07 17:38 1499http://www.db2china.net/clu ... -
(转)在英语 OS 上设置 DB2 UDB 版本 8 中的混合字节字符集(MBCS)数据库
2011-02-16 16:25 1604http://www.ibm.com/develo ... -
(转)DB2 CODEPAGE List
2011-02-15 15:15 1426http://www.db2china.net/hom ... -
(转)快速参考: DB2 命令行处理器(CLP)中的常用命令
2010-11-11 10:44 972http://www.ibm.com/develo ... -
(转)DB2 and IBM's Processor Value Unit pricing
2010-01-13 17:36 1378http://www.ibm.com/developerwor ...
相关推荐
接下来,让我们看看`code.py`脚本中的实现。在Python中,通常会使用`pypoppler-qt5`库来读取PDF,并利用`QPainter`和`QImage`来绘制PDF页面到图片。以下是一个基本的示例: ```python from PySide2.QtWidgets ...
- 当涉及到不同字符集时,使用MODIFIED BY CODEPAGE指定目标代码页,确保数据正确转换。 - 时间字段可以通过TIMESTAMPFORMAT选项格式化,以适应不同的日期和时间表示。 - 在Import和Load操作中,需要根据业务需求...
除了IMPORT命令外,DB2还提供了LOAD命令,其主要功能与IMPORT相似,但具体使用方法略有不同。LOAD命令同样支持多种文件类型,并且可以根据需要选择不同的导入模式。在大多数情况下,IMPORT和LOAD可以互换使用,但在...
12. db2setdb2codepage=1208:修改页编码为1208。 查看和管理数据库对象 1. db2describetable<表名>:查看指定表的结构。 2. db2listtables:查看数据库中所有表结构。 3. listtablesforsystem:列出所有系统表。 4...
**定义**: JDOM是一个用于处理XML文档的Java库,与DOM4J类似。 **应用场景**: 当需要简单、快速地处理XML文档时,JDOM是一个很好的选择。 **核心概念**: - **Document**: 表示整个XML文档。 - **Element**: 表示...
- `db2setdb2codepage=1208`:修改页面编码为1208。 **11. 查看表结构与列表** - `db2describetable<表名>`:查看指定表的结构。 - `db2listtables`:列出数据库中的所有表。 - `db2listtablesforsystem`:列出...
print(response.status_code) # 输出状态码 print(response.text) # 输出响应内容 ``` #### 解析HTML和JSON 一旦接收到响应,通常需要解析其中的数据。对于HTML文档,`BeautifulSoup`是一个非常有用的库。它能够...
其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...
在Python编程中,识别登录验证码图片是一项常见的任务,特别是在自动化测试和数据抓取等领域。本文将详细介绍如何使用Python实现这一功能,主要涉及的库包括`re`、`PIL`(Python Imaging Library)、`pytesseract`、...
创建一个名为`VerificationCode`的类,并在`__init__`方法中初始化WebDriver。 ```python class VerificationCode: def __init__(self): self.driver = webdriver.Firefox() self.find_element = self.driver....