将数据库从Access 2003迁移到oracle阿拉伯字符显示为问号

时间:2017-09-15 07:44:02

标签: oracle ms-access oracle11g database-migration

更新

  

如下面的答案所示,这是JDBC的错误,所以有没有   其他建议将访问数据库迁移到oracle数据库其他   比使用toad和艰难的方法来做因为触发器视图   序列不会以这种方式导入,所以我必须由我创建它们   自??! :S

我正在将数据库从access 2003迁移到oracle database 12c,但在使用SQL developers连接到访问数据库的步骤中,阿拉伯字符显示为问号

我跟着你suggest at this answer然后重启我的电脑但没有改变

注意

从访问阿拉伯字符打开.mdb file时显示正确但从SQL developers打开时我得到问号而不是阿拉伯字符 还有什么可做的吗?

我按照@krokodilko的建议运行该查询,我得到了结果

select * from nls_database_parameters where parameter like '%CHAR%'


NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS  .,
NLS_NCHAR_CHARACTERSET  AL16UTF16
NLS_CHARACTERSET    AR8MSWIN1256


select * from nls_session_parameters where parameter like '%LANG%';

NLS_LANGUAGE    ENGLISH
NLS_DATE_LANGUAGE   ENGLISH
顺便说一句,当我打开另一个Oracle架构阿拉伯字符显示正确的剂量访问有特殊编码?

1 个答案:

答案 0 :(得分:2)

不幸的是,这看起来像是JDBC-ODBC Bridge的一个问题。当文本包含Unicode字符时,它无法与Access ODBC驱动程序一起正常工作。

通过JDBC-ODBC Bridge查看有关MS Access的其他问题,如下所示: Reading Unicode characters from an Access database via JDBC-ODBC。 还提出了一些解决方案,它可以使用纯Java JDBC驱动程序(UCanAccess)进行一般的Java-to-MSAccess连接: Manipulating an Access database from Java without ODBC

但是,您的问题是关于使用SQL Developer进行迁移,因此,它不适合您,因为SQL Developer仅支持有限数量的JDBC驱动程序。不是UCanAccess。

艰难比没有好。