*

【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法

公開日: : 最終更新日:2015/01/12 データベース , , , ,

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 2012 Expressでレプリケーション

Windows Server 2012のSQL Server 2012 Expressを二台用意して

記事を読む

データベース

【SQL Server】Management Studioでテーブルをデザインから変更するとエラーになる

変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要に

記事を読む

データベース

【SQL Server】データベース作成日時(リストアした日付)を確認する方法

トラブルの調査をするとき、開発用の環境を作成して、調査するのですが… この環境っていつ作成した

記事を読む

データベース

【SQLServer2012】バックアップ/リストア方法 リストア編

SQL Server 2012のデータベースをManagement Studioを使用して、リストア

記事を読む

データベース

【SQL Server】アンインストール手順

手順としては、http://technet.microsoft.com/ja-jp/library/

記事を読む

データベース

【SQL Server】バックアップ取得日を確認する方法

前回の記事で、SQL Serverのデータベースのリストアした日付を確認するSQLを作りましたが、今

記事を読む

データベース

【Management Studio】データベースの定義を取得する方法

あくまでデータベース定義の取得です。 ※データベースのデータを取得する方法ではありません。

記事を読む

データベース

【SQL Server 2012】バックアップ/リストア方法 バックアップ編

Management StudioでSQL Server 2012のデータベースバックアップファイル

記事を読む

データベース

【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する

VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行

記事を読む

データベース

【SQL Server】エクセルをテーブルに取り込む方法

以前にManagement Studioを使ってSQLでエクセルを直接取り込む方法を書きましたが、今

記事を読む

Adsense

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Microsoft Office
【Access】削除クエリの「指定されたテーブルから削除できませんでした。」の対処法

削除クエリで「指定されたテーブルから削除できませんでした。」と ポッ

Microsoft Office
【PowerPoint】表や図形、画像オブジェクトの位置をピッタリ合わせる方法

パワーポイントで、図形や画像等のオブジェクトの細かい位置調整は、 完

データベース
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し

application
【Visual Studio】デバック、ブレークポイントで止まらない。

Visual Studio 2015でVB.netのプログラムをデバッ

データベース
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/updat

→もっと見る

PAGE TOP ↑