掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FireDAC + Oracle の SAVEPOINT について (ID:48704)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
古いシステムのマイグレーション中です。とは言え、古すぎて、いろいろあれですが。 ○ Delphi5 + AnyDAC 1.12 × Delphi5 + FireDAC 7.0.1.3119 症状 FireDAC において、StartTransaction後、TADQuery を使用して 1)SAVEPOINT HOGEHOGE、 2)ROLLBACK TO SAVEPOINT HOGEHOGE を2回繰り返すと、2)で「ORA-01086 セーブポイント HOGEHOGE は、 このセッションで設定されていないか、無効です」が発生する。 AnyDACでは、発生しない。 FireDAC の、StartTransaction、Rollbackでは、SAVEPOINTをエミュレート してくれるので、ネストして StartTransactionとRollbackを使用しておけば、 上記のSQLと同じSQLが処理されているようですが、ORA-01086 が 発生しないのです。 元々BDEを利用したアプリで、BDE→AnyDAC→FireDACと順に入れ替え中。 (今後Delphiも順に上げて、Ansi版最終の2007でとりあえず一区切り) 上記のとおり、FireDACのメソッドを使用することが回避策ですが、 通常のQueryで処理できないのがちょっと腑に落ちないので、なにか情報を ご存知の方は教えて頂きたいと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.