【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法
SQLでエクセル表示を実行した時にエラーとなった場合の対処法。
実はSQLでエクセルファイルを表示するにあたり、色々なエラーに遭遇しました。ということで、対処方法を記録しておきたいと思います。
■エラーその1
SQL Server 2012をインストールしただけの状態で、ManagementStudioでSQLを実行した時に出力したエラー
| SQL Server によって、コンポーネント ‘Ad Hoc Distributed Queries’ の STATEMENT ‘OpenRowset/OpenDatasource’ に対するアクセスがブロックされました。このサーバーのセキュリティ構成で、このコンポーネントが OFF に設定されているためです。システム管理者は sp_configure を使用して、’Ad Hoc Distributed Queries’ の使用を有効にできます。’Ad Hoc Distributed Queries’ を有効にする手順の詳細については、SQL Server オンライン ブックで、’Ad Hoc Distributed Queries’ を検索してください。 |
(1)色々調べた結果、まずは ↓ のSQLを実行しました。
| sp_configure ‘show advanced options’, 1; GO RECONFIGURE; GO sp_configure ‘fill factor’, 100; GO RECONFIGURE; GO |
■エラーその2
上記のSQLを実行後、再度、エクセルファイル表示のSQLを実行した時のエラー
| OLE DB プロバイダー “Microsoft.ACE.OLEDB.12.0” が登録されていません。 |
(2)調べてみると 【Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント】 なるものが必要らしく、ダウンロードしてサーバーへインストール。 http://www.microsoft.com/ja-jp/download/details.aspx?id=13255
■エラーその3
上記をインストールした後に出力したエラー
| SQL Server によって、コンポーネント ‘Ad Hoc Distributed Queries’ の STATEMENT ‘OpenRowset/OpenDatasource’ に対するアクセスがブロックされました。このサーバーのセキュリティ構成で、このコンポーネントが OFF に設定されているためです。システム管理者は sp_configure を使用して、’Ad Hoc Distributed Queries’ の使用を有効にできます。’Ad Hoc Distributed Queries’ を有効にする手順の詳細については、SQL Server オンライン ブックで、’Ad Hoc Distributed Queries’ を検索してください。 |
(3)アドホックが有効でないといわれたので ↓ のSQLを実行
| –アドホッククエリ有効化(OPENROWSETを実行可能にする) EXEC sp_configure ‘Ad Hoc Distributed Queries’, 1; RECONFIGURE; |
■エラーその4
アドホッククエリを有効にした後に出力したエラー
| メッセージ 7399、レベル 16、状態 1、行 1 リンク サーバー “(null)” の OLE DB プロバイダー “Microsoft.ACE.OLEDB.12.0” により、エラーがレポートされました。アクセスが拒否されました。 メッセージ 7350、レベル 16、状態 2、行 1 リンク サーバー “(null)” の OLE DB プロバイダー “Microsoft.ACE.OLEDB.12.0” から列情報を取得できません。 |
(4)アクセス拒否とかされたので、調べて ↓ のSQLを実行
| USE master EXEC sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′ , N’AllowInProcess’ , 1 EXEC sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′ , N’DynamicParameters’ , 1 |
上記、4つのエラーを乗り越えようやく、表示することができました。
Adsense
関連記事
-
-
【SQL Server】Management Studioでテーブルをデザインから変更するとエラーになる
変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要に
-
-
【SQL Server 2012】テーブル、カラム、主キー、NULL制約、データ型、長さ、INDEXの有無の一括表示
職場のシステムリプレースに伴い、データベースのテーブル(カラム)の一覧が必要になりました。 普
-
-
【SQL Server 2012】バックアップ/リストア方法 バックアップ編
Management StudioでSQL Server 2012のデータベースバックアップファイル
-
-
【SQL Server】エクセルをテーブルに取り込む方法
以前にManagement Studioを使ってSQLでエクセルを直接取り込む方法を書きましたが、今
-
-
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新
前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S
-
-
【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定
ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv
-
-
【SQL Server 2012】バッチ(コマンドプロンプト)でリストア
バッチ(コマンドプロンプト)を使って、SQL Server 2012のリストアしてみたいと思います。
-
-
【SQL Server 2012】Management Studioを使ったバックアップで面白い機能。
Management Studioを使ったバックアップをかれこれ3年くらいやってるんですが、一つのバ
-
-
【SQL Server 2012 Express】Windows Server 2012にインストールしてみる
Windows Server 2012にSQL Server 2012をインストールしてみる。 以
-
-
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得
前回は、テーブルのレコードをVBAで直接更新(Insert/update/delete) 今回
