DataMapperのSQL発行文字長制限について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
takafu
投稿数: 10
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
お世話になります。
現在、DataMapperでSQLを発行しようとしております。
どうも、256桁を超えた文字列でSQLを発行しようとすると、
文字列が256桁〜が切られてしまうようです。
何か、対処方法は無いでしょうか。
よろしくお願いいたします。
現在、DataMapperでSQLを発行しようとしております。
どうも、256桁を超えた文字列でSQLを発行しようとすると、
文字列が256桁〜が切られてしまうようです。
何か、対処方法は無いでしょうか。
よろしくお願いいたします。
投票数:0
平均点:0.00
takafu
投稿数: 10
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
追加情報です。
256桁がキーワードだと考えていたのですが、
Mapper.logに発行SQLを出力して確認してみたところ、
副問い合わせのFROM句以降が切られているようです。
発行しているSQLは以下のようなものです。
実際のSQLは、ほげの部分は日本語です。
見やすいように改行を入れております。実際には改行は入っておりません。
Insert into ほげほげ
Select TBL01.ほげ,・,・,・,・
From
(
Select ほげ1.ほげ,・,・,・,・
From ほげ1
Where ほげ1.ほげ=1000
) TBL01
Inner join
(
Select ほげ2.ほげ,・,・,・,・
From ほげ2
Where ほげ2.ほげ=2000
) TBL02
On TBL01.ほげ=TBL02.ほげ
1個目の副問い合わせで230文字〜260文字程度になります。
全文では600桁程度です。
上記SQLの「From ほげ1」〜後ろの文が切られてしまいます。
256桁が良くないのかと思い、文字列を少なくしてみましたが、
同じ結果となりました。
何か、良い対処方法は無いでしょうか。
よろしくお願いいたします。
256桁がキーワードだと考えていたのですが、
Mapper.logに発行SQLを出力して確認してみたところ、
副問い合わせのFROM句以降が切られているようです。
発行しているSQLは以下のようなものです。
実際のSQLは、ほげの部分は日本語です。
見やすいように改行を入れております。実際には改行は入っておりません。
Insert into ほげほげ
Select TBL01.ほげ,・,・,・,・
From
(
Select ほげ1.ほげ,・,・,・,・
From ほげ1
Where ほげ1.ほげ=1000
) TBL01
Inner join
(
Select ほげ2.ほげ,・,・,・,・
From ほげ2
Where ほげ2.ほげ=2000
) TBL02
On TBL01.ほげ=TBL02.ほげ
1個目の副問い合わせで230文字〜260文字程度になります。
全文では600桁程度です。
上記SQLの「From ほげ1」〜後ろの文が切られてしまいます。
256桁が良くないのかと思い、文字列を少なくしてみましたが、
同じ結果となりました。
何か、良い対処方法は無いでしょうか。
よろしくお願いいたします。
投票数:0
平均点:0.00
Jiro123
投稿数: 271
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
jBOLTのDataMapperの送り先で、
DBオペレーションのInsert、Updateでは、副問合せをサポートしていません。
副問合せを利用したいのであれば、DBオペレーションをDeleteにして、試されては如何でしょうか。
DBオペレーションのInsert、Updateでは、副問合せをサポートしていません。
副問合せを利用したいのであれば、DBオペレーションをDeleteにして、試されては如何でしょうか。
投票数:0
平均点:0.00
jBOLTer
投稿数: 82
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
DBオペレーションをDeleteにして、SQL欄にSQL文を記述すると、そのまま発行してくれます。副問い合せも大丈夫なはずです。
投票数:0
平均点:0.00
takafu
投稿数: 10
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
皆様ご意見ありがとうございます。
DBオペレーションはDeleteにして実行しています。
Deleteにして何度実施しても副問い合わせのFROM句以降が切れてしまいます。
DBオペレーションはDeleteにして実行しています。
Deleteにして何度実施しても副問い合わせのFROM句以降が切れてしまいます。
投票数:0
平均点:0.00
Jiro123
投稿数: 271
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
そうなると、ストアドプロシージャを作成して、そちらで、行いたい処理を実装し、それを、jBOLTから起動(実行)する、ということを検討されてはいかがでしょうか。
ストアドプロシージャを実行するには、送り元側で、DBオペレーションはDeleteで、SQLを記述します。
ご参考になれば。。。
ストアドプロシージャを実行するには、送り元側で、DBオペレーションはDeleteで、SQLを記述します。
ご参考になれば。。。
投票数:0
平均点:0.00
takafu
投稿数: 10
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
ご意見ありがとうございます。
ストアドや外部で実行する手段を考えてみます。
もし、マッパーで実現できそうならそちらも検討してみます。
ありがとうございました。
ストアドや外部で実行する手段を考えてみます。
もし、マッパーで実現できそうならそちらも検討してみます。
ありがとうございました。
投票数:0
平均点:0.00