シリーズ目次
前置き
今回は、AccessテーブルをSQLSERVER(MSSQL)にストアドでインポートする方法を紹介します。
必要なインストール
- SQLSERVER:Expressでいいです。
- SQLSERVERManagementStudio(SSMS):SQLクライアントならなんでも行けそうなのですが、SQLSERVER扱うならこれが安パイ。デバッグ機能使いたかったら、18.0未満を使いましょう。最新版では廃止されていてすごい使いづらいです。
- Microsoft.ACE.OLEDB.12.0(Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント):16.0もありますが、なぜかちゃんと配布されていないので今回はこちらを使います。
重要なのは、動作bitをすべてそろえてインストールすることです。
ここでは64bitで構成します。
MSさんのリンク先はころころ変わるので、各自最新のリンクをググって使用してください。
機能を有効にする
詳しくは下記URLドキュメントを参照
ストアドの構成
持たせる機能は
で、ストアドは以下の通り
このOPENROWSETってやつで、有効化したOLEを指定して、Accessのデータベースに接続します。
「import_table_name」にAccessのテーブル名を入れておけば、同名のテーブルをSQLSERVERに作成できる仕組みです。
もちろん単にSELECTすることもできます。実はExcelもインポートできます。
ね?簡単でしょう?
OPENROWSETについて詳しくなりたい方は下記参照
OPENROWSET (Transact-SQL)
BULK INSERT または OPENROWSET(BULK...) を使用して SQL Server にデータをインポートする
データ型が想定通りに入らない場合は、FORMATFILEを使用して型を指定することもできるようです。
データの一括インポートでのフォーマット ファイルの使用 (SQL Server)
今回は使用しなかったのですが、例えばCSVのインポートを行うときなんかには使えそうです。どこかで検証してみたいです。
ということで今回は「SQLSERVERにAccessテーブルをストアドでインポート」するでした~
- インポートするテーブルの一覧(wk_import_table_names)を取得
- インポート対象テーブルのみインポート
wk_import_table_names
このOPENROWSETってやつで、有効化したOLEを指定して、Accessのデータベースに接続します。
「import_table_name」にAccessのテーブル名を入れておけば、同名のテーブルをSQLSERVERに作成できる仕組みです。
もちろん単にSELECTすることもできます。実はExcelもインポートできます。
ね?簡単でしょう?
OPENROWSETについて詳しくなりたい方は下記参照
OPENROWSET (Transact-SQL)
BULK INSERT または OPENROWSET(BULK...) を使用して SQL Server にデータをインポートする
データ型が想定通りに入らない場合は、FORMATFILEを使用して型を指定することもできるようです。
データの一括インポートでのフォーマット ファイルの使用 (SQL Server)
今回は使用しなかったのですが、例えばCSVのインポートを行うときなんかには使えそうです。どこかで検証してみたいです。
ということで今回は「SQLSERVERにAccessテーブルをストアドでインポート」するでした~
0 件のコメント:
コメントを投稿