1
SELECT PRODESCRIPTION.PDC_DESC,PRODESCRIPTION.PD_CODE 
FROM BILLDETL,BILLMAST,PRODESCRIPTION 
WHERE BILLDETL.BMC_SLNO=BILLMAST.BMC_SLNO 
  AND PRODESCRIPTION.PD_CODE=BILLDETL.PD_CODE 
  AND BILLMAST.PT_NO='" + hospitalNo + "' 
  AND BILLDETL.ORIGINAL_OUCODE='L002' 
  AND TO_DATE(BILLMAST.BMD_DATE,'DD/MM/YY')
     =TO_DATE('" + visitDate.ToShortDateString() + "','DD/MM/YY')"

上記のクエリは oracle で機能しますが、asp.net oledb 接続を使用して oracle に接続するとエラーが発生しました

4

2 に答える 2

0

OLEDB 接続は、ロケール依存から期待される日付形式を返さないロケールを持つマシンから行われているようですToShortDateString()

visitDate.ToShortDateString()次のような、ロケールに依存しない固定の日付形式に置き換えてみてください。

AND TRUNC(BILLMAST.BMD_DATE, 'DAY')
   =TO_DATE('" + visitDate.ToString("dd\\/MM\\/yy") + "','DD/MM/YY')"
于 2013-07-22T05:38:21.307 に答える
0

エラーメッセージ

ORA-01861: リテラルがフォーマット文字列と一致しません

エラーの原因

フォーマット文字列でリテラルを入力しようとしましたが、フォーマット文字列の長さがリテラルと同じ長さではありませんでした。

このリンクはあなたを助けるかもしれません

于 2013-07-22T05:53:28.490 に答える