• 締切済み

Access→Oracleへ更新クエリで、文字が化ける?

クライアント:WindowsXPSP2 / Access2003 サーバ:VineLinux2.6 / Oracle9i クライアントから更新クエリを使用してサーバでデータの書き換えをしているのですが、そのときに 「高」「崎」「柳」という文字をレコードに入れると、とあるシステムでデータを表示させたときに「□」になって表示されてしまいます。 そのシステムは、以前から「高」etcを表示させても問題なく表示できてました。 何かAccess or Oracle側であるのでしょうか? ご存知の方がいらっしゃいましたらお教えください。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

OracleとWindowsとのSJISとUnicode間の変換を行う時のUnicodeの対応が異なるために発生しるのではと思いますが・・。 Unicodeに対応するのにOracleには A16SJISTILDE JA16EUCTILDE がありますよね。 クライアント側でレジストリキー HKEY_LOCAL_MACHIN\SOFTWARE\ORACLE\HOMEx 値の名前 NLS_LANG の値をJAPANESE_JAPAN.JA16SJISTILDEなどにすると解消されると思います。 データベースのCHARACTER SETはJA16SJISTILDE、JA16EUCTILDEになっていますでしょうか。 CHARACTER SETをJA16SJISTILDE、NLS_LANGはサーバもクライアントもJAPANESE_JAPAN.JA16SJISTILDEにすれば文字化けは防げると思います。

taktak888jp
質問者

お礼

返事が遅くなりました。 ありがとうございます、試してみます。

関連するQ&A

  • クエリ上でのデータ更新

    Accessのクエリで、クエリ実行した画面の抽出されたデータ上で、データの書き換え・更新ができるクエリと、「このレコードセットは更新できません」と左下に記載されてしまい更新できないクエリがありますが、この2つにはどんな違いがあるのでしょうか? おそらく、元になっているテーブルの何かの設定が違うのだろうかと思うのですが、それがよくわかりませんので投稿しました。 よろしくお願いいたします。

  • Oracleのアクセス速度

    クライアント(Windows98)からISDN(64K)回線を使用して、Oracleサーバー(Oracle8.0.3)に接続しDBアクセスした場合の、アクセス速度ってどれぐらいでしょうか。 なお、データ件数は約1000件を想定しています。

  • ACCESSのクエリからORACLEのDBを更新したい。

    初心者です。 宜しくお願いいたします。 Accessで選択クエリーでORACLEのDBを表示してデータの修正をやっていますが、選択クエリーで複数をリンクさせると更新ができません。更新は1つのDBなのですが、なにか方法があるのでしょうか。更新クエリーならできるのでしょうか。 例)AとBをリンクしてBに更新。

  • VB6とOracleについて

    VB6でプログラミングをしております。 今まで、データベースはAccessを使用しておりました。 サーバーにAccessのデータ(mdb)を入れておくと クライアントは全てこのサーバーのmdbを読み書き しております。 この度、Oracle Database 10g XE(無料)に以降する事になりました。 今までの感覚で行くと、サーバーにのみOracleをインストール すれば良いと考えております。が、この考えは合っているのでしょうか? 各クライアントにもインストールが必要なのでしょうか? よろしくお願い致します。

  • ORACLEの互換問題について

    はじめまして。 DBにORACLEを使って業務システムを開発している者です。 現在の環境は サーバ OS:Windows2003 Server DB:Oracle9i Release 2 クライアント  OS:WindowsXP DB:Oracle8.0.5 となっているんですが、Oracle9iに対してOracle8.0.5から データのエクスポートは可能なのでしょうか? 現段階ではサーバから直接エクスポートする方向で考えているんですが・・・ 宜しければ助言の方をお願い致します。

  • Microsoft Access:クエリのフィールドが消える

    仕事でWindows XP Professional、Microsoft Access 2003を使用しています。 Accessの知識は低いです(本を見ながらVBAを組んだりする程度)。 データベースは、5年ほど前にAccess 2000で作ったもので、ネットワークドライブにあり、現在、改良等はAccess 2003で行っていますが、データベースを使用するクライアントは、Windows 2000(Access 2000)とWindows XP Pro(Access 2003)の複数環境です。 データベースは、1つのテーブルに、1つの抽出クエリ、レポートはそのクエリから呼び出して表示すると考えてください。 レポートを表示させるときに、クエリからデータを引っ張ってくるのですが、数ヶ月前から、突然必要のない「パラメータの入力」ウィンドウが複数回表示されるようになりました。 直接の原因は、クエリに存在しているはずのフィールドが、数個消滅していて、再度クエリにフィールドを追加すれば直ります。 直してしばらく使えるのですが、4~5日経つと、また壊れるという状況です。 また、データベースには、1年以上大きな変更を加えていません。 レポートのラベル(単なる文字)や位置を変更するのみのメンテナンスしか行っていません。 ちなみに、このデータベースファイルのテーブルへは、別のデータベースファイルからも「テーブルのリンク」としてリンクされていますが、クエリやレポートは単独です。 個人情報を扱うファイルのため、外部に持ち出せず、職場でOK Waveにアクセスしづらい状況で、知識も乏しいことから、あまり詳しく提示できないのですが、勝手にクエリ内のフィールドが消えてしまう原因は、どういうことが考えられますか? 参考程度でも結構ですので、アドバイスをお願いします。 (この程度のレベルの人が、重要なデータベースを管理していることに一番の問題があるのは分かっているのですが…)

  • oracle application server

    下記環境で、oracleと連係したwebページを公開しようと考えています。 oracle application serverは必要なのでしょうか? サーバー:unix DB:oracle8i JDBC利用 サーバー側でデータを登録・追加・削除などを行う。 クライアント側ではデータを検索・表示するのみ。 WEB経由の外部利用者をターゲットにしているのですが、サーバーにORACLE APPLICATION SERVERをインストールする必要はあるのでしょうか?

  • ORACLEでのSQLについて

    SQLについて教えてください。 今、VBからORACLEデータベースにSQLを投げる処理を作っているのですが、 一つわからないことがあります。 例えば、アクセスでは、クエリで新しいテーブルを作成するという考え方がありますが データベースがORACLEでも同じようなことができるのでしょうか? 別に新しいテーブルを作成することに執着するわけではなく、テーブルのデータを削除 してから、そのテーブルにSQLにて引っ張ってきたデータを入れる という ものでもいいと考えています。そのやり方でもかまいませんので教えてください。 宜しくお願いします。 Oracle8.1.6 vb6

  • ORACLEのようにトレースがとれるでしょうか?

    ADO+ODBC接続でSQLサーバーからデータを抽出・更新するのですが、 ORACLEのように実行時のSQLのトレースは取れるでしょうか? SQL文の実行計画はクエリアナライザでわかるのですが… なぜトレースを取りたいかというと、以前ACCESS2000 + ORACLE + ODBC + DAO3.6で、 開発していたときに、コーディングで作成したSQLをODBCあるいはJETが SQLを勝手に書き換えて実行していたのでインデックスが効かないということがありました。 今回はADOを使用するのですが、勝手にSQL文を書き換えて、 インデックスが効かないという事象が発生しないか心配しております。 みなさんよろしくおねがいします。(つたない文章ですみません。m(_ _)m) 開発環境 ************************************************ OS:Windows2003 server Standard Edition SQLサーバー: SQLSERVER2000 クライアント VB.NET クライアントとサーバーの接続 Microsoft ActiveX Data Objects 27. Library ODBC接続 ************************************************

  • AccessでOracleのテーブルをリンクし、Access側では読み取り専用にしたい

    社内にOracleデータベースでのシステムが立ち上がっているのですが、管理帳票の出力用に、OracleのデータをAccessで読み込みたいと思っています。 テーブルのリンクそのものは知っており、成功しているのですが、Oracleデータベースのデータを壊さないようにするため、このリンクテーブルを読み取り専用にしたいと思っています。どのようにすれば良いでしょうか。 なお、Oracle側で読み取り専用ユーザを作成して、そのユーザでリンクすれば良いことは理解していますが、それは最後の手段にしたいと思っています。別の方法でうまくできないでしょうか。