[Seasar-user:16370] Re: [s2unit] deleteDb で エラー (SQLServer)
Mitsutaka Sato
[E-MAIL ADDRESS DELETED]
2008年 11月 24日 (月) 10:27:05 JST
中村様
お世話になっております。
下記ご教授ありがとうございました。
SqlServerSqlWriterを使うようにしたところ、deleteDbでの問題は発生しなくなったようです。
もう1つ教えていただきたいのですが、
今、トランザクションがきちんとロールバックされているかを確認したいので、
setUpXxx()
・DBをDataSetにバックアップ
・テストデータ用のExcelを流し込み(replaceDb)
testXxx()
tearDownXxx()
・テストデータを削除
・バックアップしたDBを元に戻す
という構成でテストを作ったのですが、
tearDownXxx() のところで、
「dataSourceがnullあるいは空であってはいけません」が発生してしまいます。
setUpxxx(), tearDownXxx() の先頭で、setupDataSource()を呼ぶようにしているのですが
上記エラーが発生します。
どのようにしたらよいか教えていただけますと大変助かります。
2008/11/19 Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>
> 中村(taedium)です。
>
> > 主キーは設定されているテーブルなのですが、
> > AutoIncrementのため、Excelからは列を削除していました。
> > (主キーの列がExcelにあると readXlsWriteDb でエラーとなるので。)
>
> SQL ServerのAutoIncrementに対応した
> SqlServerSqlWriterクラスを使うと、
> readXlsWriteDbでエラーになる問題は解決します。
>
> SqlServerSqlWriterを使う方法は2つあります。
>
> 1)テストで利用するdiconファイルに次のように定義する。
>
> <component class="org.seasar.extension.dataset.impl.SqlServerSqlWriter"/>
>
> 2)テストクラスでgetSqlWrite()をオーバーライドする。
>
> @Override
> protected SqlWriter getSqlWriter() {
> new SqlServerSqlWriter(getDataSource());
> }
>
>
> 主キーの列をExcelに含めると、
> deleteDb()でもエラーが起きなくなるはずです。
>
> --
> Toshihiro Nakamura
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20081124/333a068d/attachment-0001.html>
Seasar-user メーリングリストの案内