1

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を実行しようとすると、上記と同じエラーが発生します。

4

2 に答える 2

3

それを理解してください:saとしてログインしてこの問題を解決してください。

于 2013-03-26T16:35:39.710 に答える
1

管理者権限を必要とせずに、ユーザーアカウントがアクセスできる場所にExcelファイルを配置してみてください。

たとえば、ユーザーフォルダの方が適しています。管理者権限なしで実行すると、Windowsはこれらのタイプのフォルダーへのアクセスを制限します。

于 2013-03-25T15:23:50.710 に答える