我有一个非常古老的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从这个数据库中的表?
这与问题无关。而且,它忽略了程序独立于系统文化/区域的要求。 – RLiao