Oracleで「文字が無効です」のエラーが出ます
JavaからOracleに接続して、SELECT文を発行していますが、何度試しても上記のエラーが出ます。
発行しているSELECT文を、SQLPlusから打ち込むとちゃんと実行できます。
何が悪いのか見当がつきません。
お知恵をお貸しください。
ちなみに、対象テーブルの項目はvarchar2とnumberだけの項目ばかりで、日本語は使ってません。
また、Oracle初心者です。
環境
端末:WindowsXP
Oracle:10g Express Edition ※文字コードはAL32UTF8
IDE:Eclipse3.5 ※設定-一般-ワークスペースのテキストファイルエンコードはUTF-8
No.2ベストアンサー
- 回答日時:
Java内で生成したSQL文を見ないとなんとも言えないけど。
Javaでリテラル吐き出して編集してますかね?
select UserID, UserName from mstUser where UserID = '001'; みたいな。
条件によって 001 の部分を変化させるような。
だったらJavaでシングルクォートを吐き出すところを二重にしてみるとどうかな?
ダブルクォートでは無いよ。二重に書くことでシングルクォート一個と解釈されればOKのはず。
そうしておかないとSQL文全体を文字列で扱うんだろうから、シングルクォートの対応が崩れる。
つくりとしては以下のように作成。
select UserID, UserName from mstUser where UserID = ''001''; みたいな。
SQL文を文字列変数に格納するんだろうから
'select UserID, UserName from mstUser where UserID = ''001'';'
この回答への補足
ありがとうございます。
おっしゃられているように、
JavaではWHEREの個所を条件により変化させて編集するようにしてます。
しかしながら、
SELECT * FROM TESTTBL;
みたいな、ごく単純なSQL文に試しに変えてみてもエラーになるので、
SQL文の問題ではないと認識してます。
よく解りませんが、
文字コード?、環境?、コネクション?当たりに問題がある場合はないのでしょうか?
自己解決しました。
SQL文が間違ってました。
正確にはSQL文は間違ってなかったんですが、
最後のセミコロン(;)が不要でした。
セミコロンを削除したら動きました。
お騒がせしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) 【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か 4 2022/09/29 18:56
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Oracle SQL update方法 2 2022/06/22 14:07
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
複数行をINSERTで『ORA-00911: 文字が無効です。』というエラーが出てしまいます。
Oracle
-
日本語の表名、列名の利用について
Oracle
-
単一グループのグループ関数ではありません。
Oracle
-
-
4
CASE文のエラーについて
Oracle
-
5
Statement ignored というエラー
Oracle
-
6
正しいSQLなのに「ORA-00936: 式がありません。」となる
Oracle
-
7
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
8
selectした結果の余計な余白を取るにはどうしたらよいのでしょうか
Oracle
-
9
オラクルのUPDATEで複数テーブル
Oracle
-
10
カーソル0件の時にエラーを発生させる
Oracle
-
11
Oracleのビュー作成時に「指定した列名の個数が無効です」エラー
Oracle
-
12
無効なSQL文の具体例を教えてください
Oracle
-
13
異なるスキーマからデータを抽出するには?oracl、PL/SQL
Oracle
-
14
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
15
JAVA SQLServerException 列名 が無効です
Java
-
16
VBの質問#if 0 then ってどう言う意味?
Excel(エクセル)
-
17
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
18
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
19
hiddenのvalueの値を変えたい
JavaScript
-
20
TO_CHARで小数点以下がある場合と無い場合を切り分ける方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つの列が同じ値の行を取得するSQL
-
枝番の最大値とその前のデータ...
-
InputBoxを抽出条件にしたSQL文
-
下記の問合せを行うクエリを、 ...
-
単一グループのグループ関数で...
-
複数のテーブルから値を合計出...
-
AccessのSQL文で1件のみヒット...
-
count関数の値をwhere句で使用...
-
select文の実行結果に空白行を...
-
2回実行のSQL文を1回にしたい
-
int型フィールドにnullを登録で...
-
テーブルのフィールドの一番長...
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
並べ替えについて
-
レコードの登録順がおかしい
-
レコードの更新履歴について
-
ACCESSのクエリで空白以降を別...
-
【PL/SQL】FROM区に変数を使う方法
-
ファイルの漢数字の順番につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つの列が同じ値の行を取得するSQL
-
Oracleで「文字が無効です」の...
-
PL/SQLで…SQLの実行結果を変数...
-
枝番の最大値とその前のデータ...
-
並び替えた後の表の結合
-
同じテーブルからviewを作成し...
-
UPDATE文のWHERE句にファンクシ...
-
最新かつ最大の値を求める
-
Oracleでビット演算はできますか?
-
Accessオプションボタン vba case
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
select文の実行結果に空白行を...
-
テーブルの最後(最新)のレコー...
-
count関数の値をwhere句で使用...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
-
レコードの登録順がおかしい
-
<SQL>重複しているデータの場合...
-
AccessのSQL文で1件のみヒット...
おすすめ情報