2012-04-18 9 views
1

MS Accessテーブルのテーブル構造とそのすべての制約、キーなどを.NETまたはSQLを使用してコピーする方法を教えてもらえますか?私は、列と型をコピーする方法をいくつか検索して見つけましたが、主キーなどの制約も引き継ぐ必要があります。C#またはSQLを使用してテーブル構造と制約をコピーする

私は新しい名前で(構造のみ)のコピーを作成する必要があるテーブルの束を持つデータベースを持っています。これはC#アプリケーション内から実行する必要がありますが、私は方法を見つけることができる限り、ADOまたはSQLを使用しているかどうかは気にしません。どんなヒントも大歓迎です。

+0

どのようなデータベース技術ですか? –

+0

[テーブルスキーマと制約を異なるデータベースのテーブルにコピーする方法]の複製が可能ですか?(http://stackoverflow.com/questions/1600172/how-to-copy-a-table-schema-and-constraints-他のテーブルへのアクセス) –

+1

アクセステーブルを別のアクセステーブルにコピーしていますか?または別のデータベースシステムに? – phoog

答えて

1

アップサイズウィザードを使用します。

 // Start a new instance of Access for Automation 
     oAccess = new Access.Application(); 

     // Open a database 
     oAccess.OpenCurrentDatabase(@"z:\docs\test.accdb"); 
     oAccess.DoCmd.TransferDatabase(
      Access.AcDataTransferType.acExport, 
      "Microsoft Access", 
      @"z:\docs\test.accdb", 
      Access.AcObjectType.acTable, 
      "table1", 
      "newtable",true,false); 
+0

私はそれを試して、あなたに戻ってきます。 – sammy

+0

あなたは素晴らしいです!ありがとう、トン。完全公開のために、私はOffice 2007を使用しているので、 "Microsoft.Office.Interop.Access"、バージョン12のプロジェクトに.Netリファレンスを追加する必要がありました。 – sammy

+0

明日もう少しテストをする必要がありますすべての世話をして、私は答えとしてあなたのポストをマークします。 – sammy

1

私はあなたがすべてのインデックスなどではなく関係でコピーが作成されます、同じデータベースへの「輸出」することができますMS Accessで

http://support.microsoft.com/kb/237980

+0

Micah:リンクをありがとうございますが、外部ツールを使用して古い(97&2000)アクセスデータベースをSQL Serverに変換する方法について詳しく説明しています。私が抱えている問題は、C#アプリケーションからMS Access 2007 db内の構造コピーをテーブルに作成する方法です。 – sammy

+0

ああこれを見てくださいhttp://stackoverflow.com/questions/905090/in-vb-net-c-how-do-i-copy-a-sql-table-schema-from-on-db-to - 他の –

+0

これはMS Accessで動作しますか?私はちょっと掘り下げて、今しようとしていますが、もしあなたが既に知っていれば... – sammy