[seasar-dotnet:283] [S2Unit]ExcelデータのWriteDb順がシート定義順でない。
kubo
jazzflute @ mbn.nifty.com
2006年 7月 5日 (水) 17:16:51 JST
久保です。
S2Unitを利用しているのですが、
ExcelデータのWriteDb順がシート定義順でないという現象が発生しております。
ex)
エクセルのシートにテーブル名を
BBB, DDD, AAA, CCC
という順序で定義した場合、
期待するINSERT順序は、(Java版を基準にしてしまっていますが...)
BBB, DDD, AAA, CCC
ですが、
AAA, BBB, CCC, DDD
という順序で登録されてしまいます(アルファベット順!?)。
よって、FK制約の関連で正常に登録ができないです。
XlsReader.CreateDataSet()
DataTable tableList = con.GetOleDbSchemaTable(...)
の時点で、tableList.Rows内のテーブルの順番が上記の
現象になっています。
OleDbConnection.GetOleDbSchemaTable()に詳しくないので、
パッとどうすれば直るのか想像が付かない状態なのですが、
エクセルのシート定義順でWriteDbされるように修正できませんでしょうか?
※回避策として、「Excelのファイル自体を分割してWriteDb」が
ありますので現状そのようにやるつもりですが、
「できればそうしたくない」、というところです。
--
kubo <jazzflute @ mbn.nifty.com>
seasar-dotnet メーリングリストの案内