sql server excelファイルへのアクセス

1703 ワード

  • 環境win 7,office 2010,sql server 2012
  • プロセス1)OPENDATASOURCE、OPENROWSET機能
  • をオン
     
    1
    2
    3
    4     exec   sp_configure  'show advanced options' ,1      reconfigure      exec   sp_configure  'Ad Hoc Distributed Queries' ,1      reconfigure
     
     --プロセスでACE.OLEDB.12を使用できる
        EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
        --動的パラメータの許可
        EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
            2)
          
     select * from 
    OPENROWSET('Microsoft.Ace.OleDb.12.0'
    ,'Excel 12.0;HDR=YES;DATABASE=\\192.168.4.84\D$\abc4.xlsx',sheet1$)
     
    3.発生したエラー
    1)リンクサーバ「(null)」のOLE DBアクセスインタフェース「Microsoft.Ace.OLEDB.12.0」のインスタンスを作成できません.
    -------------------------------------------------------------------------------------------------
    --インポート機能を有効にする    exec sp_configure 'show advanced options',1    reconfigure    exec sp_configure 'Ad Hoc Distributed Queries',1    reconfigure    --プロセスでACE.OLEDB.12を使用できる    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1    --動的パラメータの許可    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
    2)未登録 OLE DBアクセスインタフェース「Microsoft.Ace.OleDb.12.0」.
    関連コンポーネントをインストールします.
     
    転載先:https://www.cnblogs.com/yingtaowz/p/4485221.html