2016-05-09 18 views
0

MS AccessデータベースからSQL Serverへの移行を監督するように求められました。使用されているツールはSSMA for Accessです。私たちが問題にSQL Serverへのアクセスの移行

Synchronization Error: The foreign key cascading '[table name]' can not be created where the column reference '[table name].Codigo' is an identity column.

に直面している進行中に

は、テーブルの構造を変更することなく、これを解決する方法はありますか?複数のテーブルでこの問題に直面しており、すべての構造を変更するには時間がかかります。事前に

おかげ

+1

チェックアクセスデータベースの場合に使用される外部キー列与えられたテーブルもプライマリキーとして設定されています。これは、テーブル(子テーブル)が親テーブルと1対1の関係であることを示唆します。 FK列がPK列にあった(または変換された)場合、その列は同時にFK列とPK列の両方になります。私はまた、既存のデータを上書きする代わりに、新しいSQLデータベースをアップサイジングしようとします(あなたの場合)。これを検出した場合は、そのFK列のPK設定を削除することができます(無効なPKを置換するためにその表に自動番号ID列を追加することができます)。 –

答えて

0

あなたはSQLにあなたの挿入を行うと

SET IDENTITY_INSERT [table name] ON 

でチェック身元を遮断することができ、その後

SET IDENTITY_INSERT [table name] OFF 
+0

SSMAはテーブルを作成してデータをプッシュアップしています。 SSMAをドロップすると、アップサイジングプロセスは実用的ではない手動プロセスになります。エラーメッセージがPK挿入によるものか、またはSSKがFKとPK列の両方で同時に子表を作成しようとしているかどうかは不明です。 SSMAは特定のテーブルに対して「カスタム」SQLコマンドを追加できるようにしていますので、PK挿入を許可するとこれを修正する可能性があると述べますが、SSMAは通常はSSMAですので、ID挿入をSSMA(SQL移行アシスタント)関連するデータの複数のテーブルを移行する(そうでなければ、1つのテーブルにSSMAを使用する理由)。 –

関連する問題