Unicode と SQLite に変換したい非常に古い 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 db オブジェクトをインスタンス化するスレッドのスレッド カルチャを zh-tw に変更します。
ADO ソース文字列でのロケールの指定:
Provider=Microsoft.Jet.OLEDB.4.0;Locale Identifier=950;
jet データベースにも独自のスレッドプールがありますが、それらのスレッドにアクセスして文化を変更する方法がわかりません。
Windows 7 en-US でこのデータベースからテーブルをクエリするためにできることはありますか?