MySQLからMS Accessにデータベースをインポートしようとしています。MySQLデータをMS Accessにインポートすると関係が失われる
データのインポート大丈夫、しかし関係とキーが失われています。私は、これらの指示に従ってきました。どのように私もこれらをインポートすることができます上の任意のヒント?ありがとう。
MySQLからMS Accessにデータベースをインポートしようとしています。MySQLデータをMS Accessにインポートすると関係が失われる
データのインポート大丈夫、しかし関係とキーが失われています。私は、これらの指示に従ってきました。どのように私もこれらをインポートすることができます上の任意のヒント?ありがとう。
MySQLまたは他のデータベースからテーブル構造をMS Accesに変換するには、まずSQLとしてダンプデータベース構造を作成します。たとえば、thisトピックの回答を使用して、受け取ったDDL SQLを編集して、MS Accessと互換性を持たせることができます。 MySQLとAccessの基本的なDDLは非常によく似ています。実際、プライマリキーとリレーションシップは制約であり、インデックスもあります。例えば、ここでは主キーを持つテーブルを作成するためのDDLをされ、一つの追加のインデックスとテーブルの国とお客様との2つの関係:
create table CustomersAddresses
(
ID_CustomerAddress COUNTER not null,
ID_Customer INTEGER,
AddressLIne1 Text(255),
AddressLIne2 Text(255),
ID_Country INTEGER,
constraint PK_CUSTOMERSADDRESSES primary key (ID_CustomerAddress)
);
create index ID_Customer on CustomersAddresses
(
ID_Customer ASC
);
alter table CustomersAddresses
add constraint FK_CustomersAddresses_REF_Countries foreign key (ID_Country)
references Countries (ID_Country);
alter table CustomersAddresses
add constraint FK_CustomersAddresses_REF_Customers foreign key (ID_Customer)
references Customers (Id_Customer) on delete cascade on update cascade;
あなたはMySQLのテーブル構造ダンプツールからとDDLがでコマンドの実行を編集した後同様のSQLを受けるべきです手動またはVBAを使用したアクセス。 DAOと組み込みのAccessクエリービルダーはDDL SQLのon delete cascade on update cascade
オプションをサポートしておらず、ADOを使用していることに注意してください。
データベース構造の変換のための最も簡単な方法は、アーウィンまたはSAP PowerDesignerのようなCASEツールを使用している:彼らは、ほぼすべてのデータベースのデータベース構造をreverce任意の宛先データベースに変換し、さらにいくつかのボタンで新しい現在データベースを生成することができます
私はAccessでMySQLダンプを実行していましたが、ファイルが大きすぎてクエリウィンドウに収まらないと言いました。ダンプは約20k行です。存在しない場合はCREATE TABLEのような他の問題があります。 – posfan12
もちろん、MySQLとAccessは異なるタイプのデータベースなので、Accessで同じ機能を使用することはできません。率直に言って、このような大きなデータベースをAccessに移行しようとしている理由は分かりません。信頼性が低く、MySQLを比較すると多くの制限があります。たとえば、Accessはデータファイルあたり2GBの制限があります。 。 AccessフロントエンドのテーブルをMySQLバックエンドにリンクする方がよいでしょう。フロントエンドとしてのアクセスは完璧です。 –
私はリンクしようとしましたが、それはプライマリキーを示しましたが、外部キーの関係は示していませんでした。私はこれらの関係の図をエクスポートしようとしており、アクセスには通常、良いものがあります。 – posfan12
原発をクリックキーはテーブルのリンク時には保持されますが、インポート時には保持されません。外部のアクセスからリレーションシップをまったくインポートすることはできません。 DDL SQLまたはVBA(DAO)を使用して、Accessテーブルで両方を再作成する必要があります。 – Andre