web-dev-qa-db-ja.com

ExcelスプレッドシートからSQL Server 2008テーブルにデータをエクスポートする方法

Excelファイルからデータをインポートしたい-Excel 2003/.xlsを想定-Sql Serverに2008。

リンクサーバーをJETに追加しようとしましたOLE DB Accessドライバー、そしてもちろん64ビットマシンでは失敗します。しかし、実験中にリンクサーバーをドロップしようとすると、別のエラーがありますリンクサーバーは既に/まだ存在していると言っています!

また、Excelドライバーを32ビット(regeditツール)に変更しようとしましたが、それが何かを実行しているかどうかわかりません。同じエラーが発生しています。

詳細:ExcelファイルのTable1には5つの列があります。再び5つの列を含むDatabase.dbo.Table1にマップしますが、テーブル内の名前は異なります。そのようなインポートを行う方法もありますか?

43
Loser Coder

SQL Server Management Studioからオブジェクトエクスプローラーを開き、データを読み込むデータベースに移動して右クリックし、[タスク]> [データのインポート]を選択します。

これにより、データのインポートウィザードが開きます。これは通常、Excelからのインポートに非常に適しています。 Excelファイルの選択、データのインポート元のワークシートの選択、保存するテーブルの選択、列の内容の選択ができます。かなり柔軟です。

これを1回限りで実行することも、SQL Server Integration Services(SSIS)パッケージとしてファイルシステムまたはSQL Server自体に保存して、繰り返し実行することもできます(指定された時間、SQLエージェントを使用して)。

更新:はい、はい、はい、あなたは尋ね続けるすべてのものを行うことができます-そのウィザードを実行するために少なくとも一度試したことはありますか?

OK、ここに来ます-ステップバイステップ:

ステップ1:Excelソースを選択する

enter image description here

ステップ2:SQL Serverターゲットデータベースを選択する

enter image description here

ステップ3:ソースワークシート(Excelから)とSQL Serverデータベースのターゲットテーブルを選択します。 [マッピングの編集]ボタンをご覧ください!

enter image description here

ステップ4:Excelカラムのテーブル内のSQL Serverカラムへのマッピングをチェック(および必要に応じて変更)します:

enter image description here

ステップ5:後で使用する場合は、SSISパッケージをSQL Serverに保存します。

enter image description here

ステップ6:-成功!これは64ビットマシン上にあり、魅力のように機能します。

86
marc_s

ExcelをSQL Serverにインポートできるツールがいくつかあります。

私は仕事をするためにDbTransfer(http://www.dbtransfer.com/Products/DbTransfer)を使用しています。主にデータベースとExcel、xmlなどの間でデータを転送することに焦点を当てています...

以前にopenrowsetメソッドとSQL Serverインポート/エクスポートアシスタントを試しました。しかし、これらの方法は不必要に複雑であり、利用可能な専用ツールの1つでそれを行うのとは対照的にエラーが発生しやすいことがわかりました。

2
Michael Geller

別の方法として、ExcelファイルをSQLファイルに変換するWebベースのツールがいくつかあります。

https://sqlizer.io はテーブル定義ファイルを生成し、その後にすべてのデータが挿入ステートメントとして続きます。その後、単純にSQL Server Management Studioにインポートできます([ファイル]> [開く]> [ファイル...] SQL SMSで)-または他のSQL互換データベースへ。

以下にその写真を示します。

SQLizer.io ready to convert xlsx to sql

1
a_good_swan

SQL Server 2016では、ウィザードは個別のアプリです。 (重要:Excelウィザードは、onlyウィザードの32ビットバージョン!)手順については、 MSDNページ を使用します。

On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data.
—or—
In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard.
—or—
In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard.
—or—
In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data.
—or—
In a command Prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn.

その後は、@ marc_sの回答とほぼ同じになるはずです(おそらくUIにわずかな違いがあります)。

1
Nikita G.