質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

1回答

517閲覧

SQL Server 「Microsoft.ACE.OLEDB.16.0 プロバイダーはローカルのコンピューターに登録されていません。」 エラーが解決できない

syuu07

総合スコア11

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2024/04/09 00:55

編集2024/04/09 04:49

実現したいこと

SQL ServerにExcelのデータをインポートしたいのですが、画像の通り「プロバイダーはローカルのコンピューターに登録されていません 」というエラーが発生してしまいます。
イメージ説明
こちらのエラーについて、どのように変更すればエラーを解消できるでしょうか?

発生している問題・分からないこと

エラーが出たタイミングは、excelからSQL ServerSQLにデータを送ろうとした時です。

Server Management Studioから
「データベース」→該当するデータベースを右クリック→「タスク」→「データのインポート」をクリックし、「SQL Server インポート および エクスポート ウィザード」を開きました。

そこから、「next」→「Data Source」で「Microsoft Excel」を選択し「Excelファイルパス」でインポートしたいデータのExcelのパスを選択し「Excelバージョン」で「Microsoft Excel 2016」を選択

「先頭行に列名を含める」にチェックを入れ「next」をクリックしたところ、エラーメッセージが出てしまい、Excelをインポートすることができませんでした。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • [] ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

https://sql55.com/sql-server/sql-server-import-and-export-wizard-excel-oledb-provider-error.php

・上記のサイトを参考に「SQL Server 2022 データのインポートおよびエクスポート (64 ビット)」を起動してみましたが別のエラーが発生してしました。

「sql server integration services ウィザードの処理準備ができていなかったため、エラーが発生しました。」

エラーを無視して進むと下記の画像の通り別のエラーにて進めなくなってしまいました。
イメージ説明

・C:\Program Files\Microsoft SQL Server[バージョンごとの番号]\DTS\Binn にある DTSWizard.exe ファイルを直接起動しても同じエラーが発生します。

「sql server integration services ウィザードの処理準備ができていなかったため、エラーが発生しました。」

https://you-1.tokyo/microsoft-ace-oledb-16-0/#toc2

Microsoft Access 2016 Runtimeをダウンロード
→既に64ビットバージョンのofficeプログラムがインストールされているためaccessが32ビットバージョンのofficeはインストールできない

Microsoft Access データベース エンジン 2016 再頒布可能コンポーネント
→効果なし

補足

接続するSQL Server Management Studioについて
・SQL Server Management Studio 19
・SQL Server 2022 express
SQL Server 認証にて接続
・Windows Server 2022 Standard
・名前付きインスタンス

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2024/04/10 00:27 編集

SSMSを実行した環境にはofficeはインストールされていますか? officeがインストールされている環境でSMSを実行してみて下さい。
syuu07

2024/04/09 02:34

コメントありがとうございます。 理解不足ですみません。 ・SMSを実行した環境にはofficeはインストールされていますか? →これはもとになるexcelのことでしょうか? ・officeとは Microsoft office のことでしょうか?
sazi

2024/04/10 00:27 編集

>これはもとになるexcelのことでしょうか? 違います。SSMSツールを実行した環境です。 >officeとは Microsoft office のことでしょうか? そうです。 SMSでエクセル形式をインポートするには「Microsoft.ACE.OLEDB」を必要としているのです。 Windowsには標準でインストールされているはずですが、手っ取り早くofficeがインストールされていれば確実だと思うので。
syuu07

2024/04/09 04:10 編集

SMSを実行した環境にはofficeはインストールされていますか? →64ビットのofficeは入っていますが32ビット版が入っていません。
sazi

2024/04/09 04:11 編集

excelが開けるならofficeはインストールされていると思います。 何れにしろ実行環境について、詳細情報を質問に追記して下さい。
syuu07

2024/04/09 04:42 編集

SQL Server Managementについて追記しました。
sazi

2024/04/10 00:27 編集

SSMSはSQLServerのサーバーにインストールされていて、そのサーバーにログインして実行しているのでしょうか?
sazi

2024/04/10 00:27 編集

>Microsoft SQL Server Management Studioを開きSQL serverにログインしています。 そうではなくて、SQL Server Management Studio(=SSMS)は、どこにインストールされたものを使用されているのかを何度も聞いています。 SQLServer上ですか?クライアントPC上ですか?
sazi

2024/04/09 07:03 編集

一時的な作業なら、excelをcsvで保存して、csvでのインポートをされてはどうですか。
syuu07

2024/04/09 07:20 編集

SMSはSQLServerにインストールされていて、SQLServerにログインして実行しているのでしょうか? →その認識であっております 一時的な作業なら、excelをcsvで保存して、csvでのインポートをされてはどうですか。 →先にそちらから試してみることにします
sazi

2024/04/10 00:28 編集

>SSMSはSQLServerにインストールされていて、SQLServerにログインして実行しているのでしょうか? >→その認識であっております という事なら、一般的にはDBサーバーにoffice系をインストールしないでしょうから、メッセージ通り必要なライブラリーが無いという事でしょう。 ※多分、そのサーバー上では、excelは開けないのだと思います。 officeがインストールされている別PCにSSMSをインストールして、そこから作業をすれば問題は解消するものと思われます。
syuu07

2024/04/09 07:40

excelをcsvで保存して、csvでのインポートを実行後確認したいと思います。 ここまでご回答ありがとうございました。
KOZ6.0

2024/04/10 16:08 編集

回答に記入しました。
guest

回答1

0

(1) Microsoft SQL Server Management Studio(SSMS) のインポートエラー

SSMS は 32ビットのものしか提供されていません。32ビットのプロバイダーをインストールしてください。
64ビット Office がインストールされている環境に 32 ビットのプロバイダーをインストールするにはインストーラ起動時のパラメータに /passive を付けます。
https://www.autodesk.co.jp/support/technical/article/caas/sfdcarticles/sfdcarticles/JPN/How-to-install-64-bit-Microsoft-Database-Drivers-alongside-32-bit-Microsoft-Office.html
上の記事は 32ビットのプロバイダーがインストールされている環境に 64ビットのプロバイダーをインストールする例ですが、逆でも同様です。

(2) SQL Server 2022 データのインポートおよびエクスポート (64 ビット) のエラー

64 ビット バージョンの SQL Server インポートおよびエクスポート ウィザードを使用するには、SQL Server をインストールする必要があります。
https://learn.microsoft.com/ja-jp/sql/integration-services/import-export-data/start-the-sql-server-import-and-export-wizard?view=sql-server-ver16

SQLServer をインストールするか、32ビットのプロバイダーをインストールし、32ビットバージョンを使ってください。

投稿2024/04/10 16:07

KOZ6.0

総合スコア2628

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syuu07

2024/04/10 23:57 編集

ご回答ありがとうございます。 (1) Mirosoft SQL Server Management Studio(SSMS) のインポートエラー →32bit の Microsoft Access 2016 Runtime をインストールするために https://www.autodesk.co.jp/support/technical/article/caas/sfdcarticles/sfdcarticles/JPN/How-to-install-64-bit-Microsoft-Database-Drivers-alongside-32-bit-Microsoft-Office.html 上記のサイトにある手順通り mso.dll レジストリ値を削除 したあとインストールするという認識でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問