DOBON.NET DOBON.NETプログラミング掲示板過去ログ

【C#】ADOX_'System.Runtime.InteropServices.COMException'について

  • 題名: 【C#】ADOX_'System.Runtime.InteropServices.COMException'について
  • 著者: talman
  • 日時: 2011/05/18 16:44:11
  • ID: 28584
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[C# VisualStudio2008 NET Framework3.5]
分類:[.NET]

いつもお世話になっております。
質問をお願い致します。

ADOXを使用して、MDBファイルの出力を行っております。
以下のようなメソッドを作成して、MDBファイル、TBLの作成は想定の通りできるのですが、デバックを行っていたところ、ADOX.TableClassをインスタンス化した際に、
"COMException"というキャッチされない例外が確認されました。
一応、目的のファイルは作成できているのですが、今後のことを考えると気になってしまうので、アドバイスを頂けないでしょうか?

//メイン処理
void main()
{
string DBSource = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\DB\\DB.MDB; Jet OLEDB:Engine Type=5";

// データソースの作成を行う
ADOX.CatalogClass catalog = new ADOX.CatalogClass();
catalog.Create(DBSource);

CreateTblClass createTblClass = new CreateTblClass();

createTblClass .CreateTbl(catalog);
}

public void CreateTbl(CatalogClass catalog)
{
// テーブルを作成する(TEST_TBL)
/*ここで、「キャッチされない"COMException"が発生します」*/
ADOX.TableClass table = new ADOX.TableClass();
table.ParentCatalog = catalog;
table.Name = "TEST_TBL";

// テストコード列の作成(TEST_CD)
ADOX.ColumnClass columnTestCd = new ADOX.ColumnClass();

columnTestCd.ParentCatalog = catalog;
//列名を設定
columnTestCd.Name = "TEST_CD";
//桁数を設定
columnTestCd.DefinedSize = 8;
//型を設定
table.Columns.Append(columnTestCd, ADOX.DataTypeEnum.adVarChar, columnTestCd.DefinedSize);

//プライマリーキーの設定
table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "TEST_CD", "", "");

catalog.Tables.Append(table);
}

以下のように表示されます。
名前:ParentCatalog
値:'table.ParentCatalog' は、型 'System.Runtime.InteropServices.COMException' の例外をスローしました。 ADOX.Catalog {System.Runtime.InteropServices.COMException}

どうぞ、宜しくお願い致します。

DOBON.NET | プログラミング道 | プログラミング掲示板