Office201064ビットをWindows764ビットにインストールしました。Windows7にもSQLServer2008がインストールされています。
次にMicrosoft.ACE.OLEDB.12.0
、T-SQLを使用してExcelファイルからデータにアクセスするために使用しようとします。
次の種類のクエリを使用して、SQL ServerMgmtStudioでT-SQLを試します。
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Temp\book1.xlsx;', 'SELECT * FROM [Sheet1$]')
「管理者として実行」でSQLServerMgmt Studioを起動すると、問題ありません。Excelファイルとの間でデータにアクセス/挿入できます。
(ADアカウントを使用して)Mgmt Studioを直接起動すると、次のようなエラーが発生します。
リンクサーバー"(null)"のOLEDBプロバイダー"Microsoft.ACE.OLEDB.12.0"は、メッセージ"Unducederror"を返しました。
メッセージ7303、レベル16、状態1、行1
リンクサーバー "(null)"のOLEDBプロバイダー"Microsoft.ACE.OLEDB.12.0"のデータソースオブジェクトを初期化できません。
しかし実際には、私のアカウントは管理者アカウントでもあります(ローカル管理者グループとAD管理者グループにあります)。
OpenRowSet
コードのようにT-SQLを実行する必要があるため、この問題を解決する方法がわかりません。
この場合のOpenRowSetは、ローカル管理者がMSSMを実行する場合にのみ問題ないように見えます。
別のコンピューターからMSSMを実行しようとすると、上記と同じエラーが発生します。