excel 數據導入數據表

環境:sql

Windows server 2012  rmide

sql server  2012this

 

excel 數據導入數據表spa

INSERT INTO [dbo].[AdminUser]
            
    SELECT [AdminUserID]
           ,[NameZH]
           ,isnull( [NameEng],'') as [NameEng]
           ,[Password]
           ,[CreateDateTime]
           ,[UpdateDateTime]
           ,[RecordTimeStamp] FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Excel 12.0;Database=C:\Website\MacauStore\Data\AllData_20151216.xls;HDR=YES;IMEX=1',
'select * from [AdminUser$]')
View Code

 

錯誤解決:http://stackoverflow.com/questions/13888082/ole-db-provider-microsoft-ace-oledb-12-0-for-linked-server-null-returned-mexcel

 

  • Open up SQL Server and run the following:code

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'Ad Hoc Distributed Queries', 1;
    GO
    RECONFIGURE;
    GO
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    GO
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
    GO
    View Code

     

  • Now, if you are running OPENROWSET calls you need to abandon calls ,made using the old JET parameters and use the new calls as follows:
    (*Example, importing an EXCEL file directly into SQL):
    DONT DO THIS….
    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=YES;Database=c:\PATH_TO_YOUR_EXCEL_FILE.xls','select * from [sheet1$]')
    
    USE THIS INSTEAD…
    SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=c:\PATH_TO_YOUR_EXCEL_FILE.xls','select * from [sheet1$]')
    
    *At this point resolved two SQL issues and ran perfectly
    View Code
相關文章
相關標籤/搜索