Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Доставчикът на OLE DB Microsoft.ACE.OLEDB.12.0 за свързан сървър (null) върна съобщение Отметката е невалидна.

След много борби с този проблем намерих следното решение:

  1. На 64-битови сървъри и кутии трябва първо да ДЕИНСТАЛИРАТЕ всички 32-битови приложения и екземпляри на Microsoft Office (инсталация на Access 2007, 32-битов Office 10 и т.н.). Ако не го направите, не можете да инсталирате новите 64-битови компоненти за повторно разпространение на Microsoft Access Database Engine 2010. Да, това е главоболие, но единственият начин, който намерих, е да инсталирам новите заместители за компонентите на JET двигателя, които трябва да работят на 64-битови машини.
  2. Изтеглете и инсталирайте новия компонент от Microsoft:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=en
    • Това ще инсталира достъпа и други машини, от които се нуждаете, за да настроите свързани сървъри, OPENROWSET excel файлове и т.н.
  3. Отворете SQL Server и изпълнете следното:

    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
    
    • Това задава параметрите, необходими за достъп и изпълнение на заявки, свързани с компонентите. Адрес „null
  4. Сега, ако изпълнявате OPENROWSET повиквания, трябва да изоставите повикванията, направени с помощта на старите JET параметри, и да използвате новите повиквания, както следва:

    (*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
    
  5. Сега за забавната част…..намерете всичките си дискове с Office и преинсталирайте Office и/или необходимите приложения обратно на машината. Можете да инсталирате 64-битовата версия на Office 10, като отидете на диска и влезете в 64-битовата папка и я стартирате, но внимавайте, тъй като в някои случаи някои приложения на трети страни все още не се свързват с тази версия на Office.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. В tsql безопасно ли е вмъкване с оператор Select по отношение на едновременност?

  2. Как да вмъкнете стойности в колона IDENTITY в SQL Server

  3. Създайте файл с база данни на SQL Server CE програмно

  4. Как да се свържа със SQL Server чрез sqlalchemy, използвайки удостоверяване на Windows?

  5. Пакет за настройка на Spotlight Basic:Най-добрият безплатен инструмент за оптимизиране на SQL