
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
複数行をINSERTで『ORA-00911: 文字が無効です。』というエラーが出てしまいます。
Oracle
-
select句副問い合わせ 値の個数が多すぎます
Oracle
-
Statement ignored というエラー
Oracle
-
-
4
正しいSQLなのに「ORA-00936: 式がありません。」となる
Oracle
-
5
単一グループのグループ関数ではありません。
Oracle
-
6
CASE文のエラーについて
Oracle
-
7
無効なSQL文の具体例を教えてください
Oracle
-
8
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
9
GROUP BYを行った後に結合したい。
Oracle
-
10
SI Object Browserのテーブルスクリプト出力のやり方
その他(データベース)
-
11
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
12
PL/SQLで@ファイル名が反応しません
Oracle
-
13
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
14
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
15
PL/SQLでSPOOLさせたいのですが、可能でしょうか?
Oracle
-
16
SELECTで1件のみ取得するには?
Oracle
-
17
「文字が無効です」になる
Oracle
-
18
データを削除しても表領域の使用率が減りません
Oracle
-
19
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
20
PL/SQL PLS-00103エラーについて
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Oracleで「文字が無効です」の...
-
2つの列が同じ値の行を取得するSQL
-
PL/SQLで…SQLの実行結果を変数...
-
枝番の最大値とその前のデータ...
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
テーブルの最後(最新)のレコー...
-
where句中のtrim関数について
-
updateで複数行更新したい
-
【PL/SQL】FROM区に変数を使う方法
-
並べ替えについて
-
24時間以内に更新されたデータ...
-
引数によってwhere句を切り替え...
-
AccessのSQL文で1件のみヒット...
-
<SQL>重複しているデータの場合...
-
SQL文 複数実行
-
2回実行のSQL文を1回にしたい
-
リストボックス内を昇順並べる方法
-
データ
-
int型フィールドにnullを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Oracleで「文字が無効です」の...
-
2つの列が同じ値の行を取得するSQL
-
PL/SQLで…SQLの実行結果を変数...
-
同じテーブルからviewを作成し...
-
枝番の最大値とその前のデータ...
-
sql文について教えて下さい
-
SQL*Plus8.0.6でChangeコマンド
-
SQL副問い合わせ内のエイリアス
-
UPDATE文のWHERE句にファンクシ...
-
並び替えた後の表の結合
-
Accessオプションボタン vba case
-
"と'の違いについて。
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
単一グループのグループ関数で...
-
SELECT FOR UPDATE で該当レコ...
-
【PL/SQL】FROM区に変数を使う方法
-
レコードの登録順がおかしい
-
select文の実行結果に空白行を...
-
where句中のtrim関数について
おすすめ情報