<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP 12のQuery Builderを使用してデータベースから情報を取得しています。
さまざまなアプリケーションを使用してこれを実行するためのコードがすでに数多く作成されています。そのコードを「カスタムSQL」としてJMPにコピー&ペーストするだけで実行できることを願っています。しかし、思ったほどスムーズに機能していないので、メッセージが表示されます。
SQLクエリの実行中にエラーが発生しました。
[Oracle] [ODBC] {Ora] ORA-00911:無効な文字です
[SQLSTATE = HY000]
私はSQLについて知っていて、彼らはこのコードでは何も「間違っている」とは思えない2、3の人々に尋ねました。
/ * Formulation_Samplesテーブルと複数のエラー追跡図からの作成日* /
選択する
sample_value_summary.sample_identifier、order_in_workflow AS "ORDER"、creation_date、
max(param_def_lov_id = 19、value_stringの場合) "MATERIAL"、
max(param_def_lov_id = 18、value_stringの場合) "BATCH"、
max(param_def_lov_id = 5の場合は値が終了した場合) "TARGET"、
max(param_def_lov_id = 24の場合は値が終了した場合) "ACTUAL"、
(max(param_def_lov_id = 24のときに値の終わりの場合の値) - max(param_def_lov_id = 5のときに値の終わりのときのケース))* 1000 "ERROR [mg]"として、
ABS((max(param_def_lov_id = 24のときに値の終わりの場合の値) - max(param_def_lov_id = 5のときに値の終わりのときのケース))* 1000) "ERROR [mg]"として、
ROUND(((max(param_def_lov_id = 24のときに値の末尾の場合) - max(param_def_lov_id = 5のときに値の末尾の場合))/ max(param_def_lov_id = 5のときに値の末尾の場合))* 100,3) "ERROR [ %] "、
ABS(ROUND(((max(param_def_lov_id = 24の場合は値終了の場合) - max(param_def_lov_id = 5の場合は値終了の場合))/ max(param_def_lov_id = 5の場合は値終了の場合))* 100,3)) "絶対エラー[%]"、
max(param_def_lov_id = 34の場合、値/ 86400 + to_timestamp( '01011970'、'dd-mm-yyyy')終了) "START TIME"、
max(param_def_lov_id = 35の場合、値/ 86400 + to_timestamp( '01011970'、'dd-mm-yyyy')終了) "STOP TIME"、
(max(param_def_lov_id = 35の場合は値の終わりの場合) - max(param_def_lov_id = 34の場合は値の終わりの場合) - 「処理時間」として
SCO_HTFS.sample_value_summary、SCO_HTFS.formulation_samplesから
ここでsample_value_summary.sample_identifier = formula_samples.sample_identifierおよび
(5,18,19,24,34,35)のparam_def_lov_idと(11,12)のbms_module_id
exp_plan_sample_id in(sco_htfs.exp_plan_samplesからexp_plan_sample_idを選択します。
sco_htfs.experiment_plansからexp_plan_idを選択します。experiment_id = / *ここに実験番号を入力してください* / 4742)
/ *時間条件が必要でない場合はこの行を削除してください* /およびto_timestamp(/ *開始日を入力* / '01012014'、'dd-mm-yyyy')とcurrent_timestampの間のcreation_date
sample_value_summary.sample_identifier、order_in_workflow、creation_dateによるグループ化
sample_value_summary.sample_identifier、order_in_workflowによる注文。
このコードは他のアプリケーションでも正常に実行されるため、「正しく」書かれていますが互換性はありません。私には同じメッセージを与えるものがいくつかありますので、これらの書き方とJMPがそれらを必要とする方法には若干の違いがあることを私に暗示しています。
よろしく
ダビデ
私は個人的にコメントが問題であることを疑っています - 私はCスタイルのコメントを動作中のOracleクエリに追加しましたが、クエリはまだ動作しました。
d_barnettのSQLを使ってOracleに送信しようとすると、エラーが発生します。
[Oracle] [ODBC] [Ora] ORA-00933:SQLコマンドが正しく終了しません[SQLSTATE = HY000]
無効な文字ではなく
これはWindowsではなくMacではなくです。
注目すべき点の1つは、貼り付けているSQLに忍び込むスタイルの引用符(シングルまたはダブル)です。 まずSQLをメモ帳に貼り付けてから、そこからコピーしてJMPに貼り付けます。
私は、そのSQLのより単純なバージョンで動作し、それが再び失敗するまで部分的に追加し始めることを試みることを提案するでしょう。 Oracleが単に無効な文字が何であるかを私たちに教えてくれたら、本当に素晴らしいことでしょう。
無効な文字が見つかった場合は、ここに投稿してください。 たぶんJMPは、(実際にあなたの問題がスタイル付き引用符であることが判明した場合)SQLを送信する前に、スタイル付き引用符についてカスタムSQLをスキャンして通常の引用符に変換する必要があります。
ありがとう、
エリック