使用imp导数据出现xmltype字段的内容的中文是乱码,这个问题困扰了我应该有半年的时间了。
症状:从广州以外的数据库导出来的dmp文件,导到广州本地的数据库时,一般字段不会出现中文乱码,而xmltype中的中文全是问号,而广州本地的数据库之间的导入导出,却不存在乱码。
具体的:1、从本地导出dmp文件,导入杭州数据库,xmltype字段的出现乱码。
2、从杭州导出dmp文件,导入本地数据库,xmltype字段的出现乱码。
3、从本地导出dmp文件,导入珠海数据库,xmltype显示正常。
4、从珠海导出dmp文件,导入本地数据库,xmltype字段出现乱码。
环境:linux、oracle 10g ,其中本地的是rehat5.4,杭州的也是rehat5.4,珠海的是suse。
今天无意中,被我查到了原因,是系统环境变量NLS_LANG的问题,本地的系统是没有设置这个值,杭州的也没有设置这个值,珠海的由于有密码,暂时没查到。
查看NLS_LANG:echo $NLS_LANG
设置NLS_LANG:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
这里要注意,这个环境变量是分用户的, 需要在oracle用户下设置,在root用户下设置时无效的。而且export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 这个命名在当前窗口才有效,如果切换了用户或者退出后再登陆,会失效的。
在导入dmp文件时,在oracle用户下设置NLS_LANG,然后在使用imp命令导入数据,这样就不会出现乱码了。
值得怀疑的地方:本地之间的导入导出没问题,这个是否跟系统的版本有关系呢?因为总结上面的几种情况,都是不同系统间的dmp导入导出时出现乱码。
分享到:
相关推荐
oracle解析XMLTYPE字段里面节点值,并用PL/SQL将查询结果导出为excel
在 Oracle 数据库中,XMLType 是一种特殊的数据类型,用于存储和处理 XML 数据。在本文中,我们将详细介绍 Java 中 XML 文件的处理及 Oracle 中 XMLType 的插入和读取。 一、Oracle 中创建表 在 Oracle 数据库中,...
这样,Java代码就可以调用Oracle提供的API来执行XML数据的CRUD操作,如创建XMLType对象、查询XMLType列、更新XML内容,甚至执行复杂的XQuery查询。 为了确保兼容性和性能,确保你使用的是与Oracle数据库版本相匹配...
本文将详细探讨如何使用Java的JDBC和MyBatis框架来处理Oracle中的XMLType数据。 首先,XMLType在Oracle数据库中是一个非常强大的数据类型,它不仅能够存储XML数据,而且还提供了丰富的操作XML的功能。由于XMLType是...
XMLType可以与XML Schema(XSD)结合使用,提供数据验证和类型检查。当XMLType列与XML Schema绑定时,Oracle将自动验证插入或更新的XML文档是否符合指定的模式。 七、XMLType与其他对象的交互 XMLType可以与Oracle...
在与Oracle数据库交互时,这个库可以帮助开发者高效地读取和写入XMLType字段中的数据。 在使用这两个库进行XMLType相关的JDBC操作时,通常需要以下步骤: 1. **加载驱动**:首先,你需要在Java代码中加载Oracle ...
在 Oracle 中,我们可以使用 XMLType 列来存储 XML 数据,并使用 Oracle 的 XML 解析器来解析 XML 数据。 要将 XML 数据插入到 Oracle 数据库中的 XMLType 列中,需要使用 Oracle 的 JDBC 驱动程序。首先,需要连接...
- 更新 XMLType 表中的数据时,可以使用 SQL 的 UPDATE 语句,结合 `XMLTYPE` 函数,将新的 XML 内容赋值给 XMLType 字段。 - 示例中,`UPDATE XMLTABLE X SET VALUE(X) = XMLTYPE(getCLOBDocument('init.xml'));`...
通过使用`XMLTYPE`字段,可以有效地管理和查询XML文档。其中,`XPath_string`是用于指定在XML文档中查找或操作节点的路径表达式。 - **XMLTYPE_instance**:这是一个特定于XML数据类型的实例,用来存储XML数据。...
在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...
1. **多语言支持**:XMLtype 支持 UTF-8 编码,这意味着它可以处理世界上几乎所有的字符集,包括非拉丁字符,如汉字、日文、阿拉伯文等。此外,其对双向文本的支持使其成为处理希伯来语、阿拉伯语等从右至左书写系统...
在示例中,XML文件111.xml的数据被导入到表a_gszx,使用`TRAILING NULLCOLS`指定字段的结束标记,并用`enclosed by`来确定字段的起始和结束XML标签。 Sybase数据库的处理方式与MySQL类似,使用`load data infile`...
XML(Extensible Markup Language)是一种用于标记数据的语言,它被广泛应用于数据交换、配置存储以及在不同系统间传输结构化信息。在Oracle数据库中,XML数据可以被导入到表中以便进行存储和处理。本篇文章将详细...
此示例展示了如何使用`XMLPARSE`函数结合`XMLTable`函数从指定URL获取XML数据,并从中提取`id`和`name`字段。 #### 使用XMLQuery进行数据转换 除了上述方法外,还可以使用`XMLQuery`函数来进行更为复杂的查询和...
例如,可以创建一个XMLType类型的字段来存储XML文档,或者直接将XML数据写入文件系统。 4. 数据同步的实现 完成数据变化的捕捉和XML转换后,可以使用XML作为中介,将数据同步到其他异构数据库。这通常涉及XML解析和...
通过使用XMLType,可以直接在SQL查询中处理XML数据。 3. **XQuery和XMLTable**:Oracle支持XQuery语言,这是一种专门用于查询XML数据的语言。通过使用XMLTable函数,可以将XML文档转换为关系表,然后进行常规的SQL...
- **XMLTYPE**:用于存储XML数据。 此外,Oracle还允许用户定义自己的数据类型,这些类型可以是复合类型,即包含多个属性的数据类型。例如,用户可以定义一个地址类型,其中包含街道、城市、国家等多个字段。 ### ...
4. **PPT**:提到的PPT可能是一个关于XML数据转换的演示文稿,通常会包含以下内容:XML的基础概念,Oracle数据库对XML的支持,如何在Oracle中存储和查询XML数据,使用XMLType的例子,以及使用DBMS_XMLGEN和DBMS_XML...
这种技术的出现,标志着数据库技术的一个重要进步,它支持XML文档的原生存储和管理,使得XML数据能够和关系数据一起被高效地处理和优化。 Oracle XML DB提供了多种方式来存取XML文档。它支持通过标准的SQL语句访问...