2012-07-02 24 views
0

我有一个非常古老的Big5 Jet数据库,我想转换为Unicode和SQLite。如何从C#中的Windows 7 en-US上的Big5 Jet数据库查询表?

这里的第一步是实际打开jet数据库。使用C#ADO,我可以枚举Jet DB中的表。它们全都是乱码,这在Windows 7 en-US上有望实现。

现在,如果我只是把这些表名和把它们变成一个简单的

select * from "[garbled text]" 

Jet数据库会抱怨怎么也找不到该表。同样,如果我尝试将jet数据库加载到Microsoft Access 2010中,它能够查看表,但不能从中查询。

在对此进行了一段时间的研究之后,我决定启动具有Big5/Code Page 950支持的Windows XP zh-tw数据库的原始主机。

我将与Windows 7 zh-tw完全相同的失败二进制文件放入Windows XP zh-tw。我运行EXE和繁荣,它能够查询表没有问题。

我真的很想能够在Windows 7上做到这一点,我也很喜欢这样做,而不依赖于主机文化。

事情我已经尝试过,但失败:

  • 变更线文化来实例化Jet数据库对象的线程的ZH-TW。
  • 在ADO源字符串指定区域设置:

    Provider=Microsoft.Jet.OLEDB.4.0;Locale Identifier=950; 
    

    Jet数据库也有自己的线程池,但我不知道怎么去这些线程改变自己的文化。

有什么我可以做查询在Windows 7上的en-US从这个数据库中的表?

回答

0

在Windows 7(任何语言),您可以更改系统区域设置:

  • 区域和语言选项 - >管理 - >更改系统区域设置 - >中国(繁体) - >确定,重启

我不知道如何更改代码中的Jet/ADO.NET语言环境,很抱歉。

+0

这与问题无关。而且,它忽略了程序独立于系统文化/区域的要求。 – RLiao

相关问题