2012-07-02 23 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

相關問題