VB6-ORACLEで文字化けエラーが発生!?対策方法と環境設定

このQ&Aのポイント
  • VB6-ORACLEで旧システムの動作環境を作成している際、SELECT句で文字化けが発生しエラーとなってしまいます。このエラーの原因と対策方法について解説します。
  • サーバ機よりVBPで実行すると問題ないのですが、サーバ機よりEXEで実行すると「電話番号」というフィールドを参照する際に、「泥錬番号」という誤ったフィールド名で参照しに行ってしまい、エラーが発生します。この問題の解決方法についても解説します。
  • クライアントからの実行でも同様のエラーが発生します。接続環境や文字コード設定に注意しながら、正しい動作環境を整えるための手順についても詳しく紹介します。
回答を見る
  • ベストアンサー

文字化けが発生してしまいます。

VB6-ORACLEで旧システムの動作環境を作成しているのですが、SELECT句で文字化けが発生しエラーとなってしまいます。 サーバ機よりVBPで実行すると問題ないのですが、サーバ機よりEXEで実行すると「電話番号」というフィールドを参照する際に、「泥錬番号」で参照しに行ってる模様で、「フィールド'泥錬番号'は見つかりません」と出てしまいます。 クライアントより実行すると、VBPでもEXEでも同じ現象が発生します。 Server環境: Windows2000 Server Oracle8.1.6 CHARACTERSET = JA16SJIS Client環境 WindowsXP Pro よろしくお願いします。

  • Oracle
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • sippo06
  • ベストアンサー率25% (7/27)
回答No.2

こんにちわ VBで開発とのことですが、もしかしてミドルウェアはoo4oでしょうか? oo4oでしたら、アーリーバインドを使うと、フィールド名が化けることがありました。 このときは、レイトバインドに変更しただけで解決しました。 ご参考になれば。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

oracleではフィールド名にマルチバイト文字を保証してなかった気がするん ですが。 とりあえず、「電話番号」としているフィールド名を「"電話番号"」のよう にダブルクォーテーションで括ってみてはどうですか。

関連するQ&A

  • my.iniを書き換えても文字化けが解消されません。

    MySQL5.1をWindowsVistaにインストールし、コマンドプロンプト上で実行しているのですが、日本語の文字化けが解消されません。 自分なりに調べ、下記ののように設定しましたが手詰まりになってしまいましたので、どなたか知恵を貸してください。 my.iniを以下のように変更 [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [mysqld] default-character-set=sjis character_set_server=sjis skip-character-set-client-handshake 起動時のステータス mysql> status; Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis mysql> show variables like "char%"; character_set_client sjis character_set_connection sjis character_set_database sjis character_set_filesystem binary character_set_results sjis character_set_server sjis character_set_system utf8 コマンドプロンプトの文字コード Shift-JIS

  • ODBC接続で全角文字が文字化け

    MySQL⇒MS-ACCESSのODBC接続で文字化けが発生してます。 ■MySQL 5.0.27 ■MyODBC 3.51.19 ■MS-ACCESS 2000 (Windows2000) ○my.cnfの設定 [mysqld] skip-character-set-client-handshake [mysqld_safe] skip-character-set-client-handshake [ODBC] default-character-set=sjis [client] default-character-set=sjis ○status Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 ▽試したこと ・Initial Statement に set names 'sjis' を設定 ・Character Set sjis、ujis、latin1 それぞれを指定 半角文字は大丈夫ですが、全角文字になると「??????????」と表示されています。 MySQL+PHPでは問題なく使えます。 解決方法分かる方アドバイスお願い致します。

    • ベストアンサー
    • MySQL
  • MySQL5.0の文字コードが変更できずに困っています。

    MySQL5.0の文字コードが変更できずに困っています。 環境は全てWindowsXPのローカルで動かしています。 インストール直後、statusコマンドで確認したところ、 Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 となっていました。 次に、C:\Program Files\MySQL\MySQL Server 5.0内のmy.iniを [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [mysqld] default-character-set=sjis としてMySQLを再起動してみたのですが、 Server characterset: latin1 Db characterset: latin1 Client characterset: sjis Conn. characterset: sjis で、ServerとDbが変わらず、このままではINSERT文などで日本語をいれることが出来ません。 どなたかご教示お願いします。

    • ベストアンサー
    • MySQL
  • 文字化け中。

    mysqlで文字化けします。「十勝平野」や「ソース」が化けます。 webでいろいろと調べてmy.iniをいじくってみましたが、まだ文字化けがなおりません。 mysql> statusは -------------------------------------- Connection id: 7 Current database: Current user: root@localhost SSL: Not in use Server version: 4.0.26-nt Protocol version: 10 Connection: localhost via TCP/IP Server characterset: latin1 Client characterset: sjis TCP port: 3306 ----------------------------------- このような状態です。 my.iniファイルはC:/windowsフォルダの中に置いています。 一部のサイトでは「Windowsでは、インストールディレクトリ等に用意します。」という表現が使われていたのですが、C:/windowsフォルダのことではないのでしょうか? -----------------my.ini--------------------- [mysqld] default-character-set=sjis basedir=C:/server/mysql datadir=C:/server/mysql/data [WinMySQLadmin] Server=C:/server/mysql/bin/mysqld-nt.exe default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [client] default-character-set=sjis ------------------------------------------ どなたか、よろしくお願いします。m(_ _)m

  • MySQLで日本語を出力すると文字化け(?)します。

    初めまして、MySQLの日本語の取り扱いについて悩んでいます。 この手の質問の過去ログをいろいろ漁ってみて、試してみたのですが、 やり方が悪いのか解決には至りませんでしたので質問させていただきます。 MySQLのバージョンは5.0で、phpMyAdminは2.9です。また、PHPのバージョンは5.1です。 OSはWindwos XPです。 status等で文字コードを確認したところ、以下のようでした。 Server characterset : sjis Db characterset : sjis Client characterset : sjis Conn.characterset : sjis また、phpMyAdminの「MySQLの文字セット」にはUTF-8 Unicode (utf8) とあります(この時点で十分謎です;;)。 このような環境で、以下のようなテーブルを作成し、ブラウザに「日本語。」と出力してみたところ、????と出ました。 どなたかのご教授を得られれば幸いです。 よろしくお願いします。

  • MySQL4.1における文字化けについて

    WindowsXPにてMySQL4.1.12aをインストールしました。 JDBCにて、 Class.forName("com.mysql.jdbc.Driver").newInstance(); String connStr = "jdbc:mysql:///databasename?user=root&password=pass" + "&useUnicode=true&characterEncoding=Shift_JIS"; とし、insertでCSVファイルから特定の項目を追加していくということをしました。 clientにてselectしてみたら、2バイト文字がすべて 「?」に変わっていました。 my.iniにて [mysqld] default-character-set = sjis [client] default-character-set = sjis [mysql] default-character-set = sjis を追加していますが、 statusで見ると mysql> status -------------- mysql Ver 14.7 Distrib 4.1.12a, for Win32 (ia32) Connection id: 1 Current database: shop Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 4.1.12a-nt Protocol version: 10 Connection: localhost via TCP/IP Server characterset: sjis Db characterset: utf8 Client characterset: latin1 Conn. characterset: latin1 TCP port: 3306 Uptime: 30 sec となっています。 utf8、latin1というのが文字化けの原因でしょうか。 対策方法をご教授お願いいたします。

    • ベストアンサー
    • MySQL
  • 「表」の文字入りのレコードがinsertできません

    何回も質問して申し訳ありません。 サーバ、クライアントともキャラクタセットはすべてsjisに設定したのですが、「表」の文字入りのレコードをinsertしようとエラーになってしまいます。「表」の0x5Cが問題なのでしょうか。 insert into tb1 values(a '表'); とすると、後ろの'が入力してない扱いになってしまうようです。 insert into tb1 values(a '表/'); とすればうまくいくのですが、 statusで Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis となっていても、解決しない問題なのでしょうか。 申し訳ありません。できましたら、どなたかお助けいただければ幸いです。

    • ベストアンサー
    • MySQL
  • JDBCからの登録で文字化けしてしまいます

    サブクエリーを使うためにMYSQL4.0をアンインストールして MYSQL4.1.22をインストールしなおしました。 JDBCにて Class.forName ("com.mysql.jdbc.Driver"); String strConn="jdbc:mysql://localhost/sikaku" +"user=root&password=root" +"&useUnicode=true&characterEncoding=Shift_JIS"; として、inserでデータを登録したところ英数字は正しく登録できたのですが、 日本語(漢字、ひらがな)の部分が文字化けしてしまいました。 MYSQL4.0のときは日本語も正しく登録できていました。 また、コマンドプロンプトからMYSQLを起動し、データを登録するときは、 日本語も正しく登録できています。 現在の設定は mysql> status -------------- mysql Ver 14.7 Distrib 4.1.22, for Win32 (ia32) Connection id: 110 Current database: sikaku Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 4.1.22-community-nt Protocol version: 10 Connection: localhost via TCP/IP Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis TCP port: 3306 Uptime: 7 hours 56 min 1 sec -------------- となっていて、文字コード関係の変数の値は mysql> show variables like "char%"; +--------------------------+-----------------------------+ | Variable_name | Value | +--------------------------+-----------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_results | sjis | | character_set_server | sjis | | character_set_system | utf8 | | character_sets_dir | C:\MySQL\share\charsets/ | +--------------------------+-----------------------------+ のようになっています。 ぜひとも対策方法をご教授お願いいたします。

  • XAMPPでMySQLで文字化け、文字コード設定について

    MySQLの文字セット: UTF-8 Unicode (utf8)が変更できない。(できればSJISにしたい) 環境: OS:WinXP XAMPP1.6.6 * Apache 2.2.8 + OpenSSL 0.9.8g * MySQL 5.0.51 * PHP 5.2.5 & PHP 4.4.8 (RC2) * phpMyAdmin 2.11.4 症状: コマンドラインから作った全角文字を含む簡易テーブルについて。 ブラウザからphpMyAdminで確認すると文字化けせず読めるが、 DOSからコマンド"select"で確認すると文字化けしてしまう。 DOS窓からコマンド入力で簡単なテーブルsampleを作る。 東京,tokio Kanagawa,kanagawa とうきょう,tokio mysql> select * from sample; +------------+----------+ | ken | kencho | +------------+----------+ | | tokio | | Kanagawa | kanagawa | | ニ、ォ、 | tokio | +------------+----------+ mysql> status Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis mysql> show variables like '%char%'; +--------------------------+-----------------------------------+ | Variable_name | Value | +--------------------------+-----------------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_filesystem | binary | | character_set_results | sjis | | character_set_server | sjis | | character_set_system | utf8 | | character_sets_dir | _xampp_mysql_share_charsets_ | +--------------------------+-----------------------------------+ character_set_systemだけがutf8なのは何故でしょうか? 編集したファイル: <my.ini(C:\WINDOWS)> [mysqld] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis <my.cnf(C:\xampp\phpMyAdmin)>(短縮ダイヤル) default-character-set=sjis init-connect=SET NAMES sjis <config.inc.php(C:\xampp\phpMyAdmin)> $cfg['DefaultLang'] = 'ja-sjis'; $cfg['Lang'] = 'ja-sjis'; $cfg['DefaultCharset'] = 'ja-sjis'; 結果: とりあえず調べた事をファイルに反映させてみましたが、 DOSプロンプトからselect文を実行すると全角文字が読めません。 どうすれば読めるようになりますか? character_set_system utf8を変更するのでしょうか? "http://www.oji.ath.cx/sb/log/eid11.html"を参考にさせて頂きましたが、character_sets_*の意味がいまいち分かりません。 こちらも分かれば教えて頂きたいと思います。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLの文字化けが直りません。

    MySQLの文字化けが直りません。 CentOS5.4+Apache2.0+ PHP 5.1.6 MySQL Server, Client とも 5.0.77 を使用しています。 設定は次の通りですが、Windows7 のクライアント機から見ると文字化けしてしまいます。 # mysql -p root -p*** (エラーを生じさせてみる) ERROR 1049 (42000): 'root' 、ハ、?ニ・ヌ。シ・ソ・ル。シ・ケ、マテΤ熙゛、サ、・ ************************************************** mysql> status Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 -------------- php.ini は次の設定です。 1123 [mbstring] 1125 mbstring.language = Japanese 1130 mbstring.internal_encoding = UTF-8 1133 mbstring.http_input = auto 1137 mbstring.http_output = UTF-8 1144 mbstring.encoding_translation = Off 1148 mbstring.detect_order = auto 1152 mbstring.substitute_character = none; 文字化けを直すにはどのようにすれば良いでしょうか?

    • ベストアンサー
    • MySQL