[seasar-dotnet:1539] Re: ReplaceSchema のエラーについて

kubo [E-MAIL ADDRESS DELETED]
2010年 1月 13日 (水) 17:24:05 JST


久保(jflute)です。

中井さん、こんにちは

ありがとうございます。
こちらSQLServer2005の環境しかないので、
とても貴重なフィードバックです。

sysobjectsの検索をやめて、JDBCのメタ情報から
削除対象のテーブルを取得するようにしたのですが、
(全DBで実装のブレを無くすために統一)
SQLServer(2000)だと、JDBC経由でシステムテーブルの
情報まで取得してしまうようです。

取り急ぎDBFlute-0.8.9.10-SNAPSHOTにて修正しました。
お手数ですがご確認頂けますでしょうか?
(こちら2000がないもので...2005では正常動作を確認しました)
http://dbflute.net.sandbox.seasar.org/download/dbflute/dbflute-0.8.9.10-SNAPSHOT.zip
もし、問題がなければ、早めにリリースします。

あと、そもそもSQLServer2000で自動生成処理(JDBCやDoc)を
すると、sysobjectsなどのテーブルも自動生成対象になったり
しませんでしょうか???論理的にはそうなるはずかなと...
(SNAPSHOTではこれは直ってるはずです)

2010/1/13 Nakai <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になっております。
> 中井と申します。
>
> 今日、DBFluteを0.8.9.6→0.8.9.9にバージョンアップして
> ReplaceSchemaを実行したところ、以下のエラーが発生しました。
>
> 「Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: ビュー 'sysconstraints' はシステム ビュー なので、削除 できません。」
>
> 色々試してみた傾向としては、
> ・0.8.9.8以降で発生(ReplaceSchemaが変更になった影響でしょうか?)
> ・SQLServer2000で発生(SQLServer2005ではOKでした)
>
> SQLServer2000ではシステムビューに「sysconstraints」「syssegments」があるのですが、
> これらをDropしようとしているようです。
>
> 当面はReplaceSchemaとソース生成でバージョンを切り替えての利用を
> 考えているのですが、0.8.9.9とSQLServer2000のままでエラーを回避する方法は
> あるのでしょうか?
>
> 以上、よろしくお願い致します。
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内