none
Collegare programmaticamente mdb Access (32bit) a SQLServer (64bit) RRS feed

  • Domanda

  • Sto cercando di collegare (linked server) un database MDB, protetto da password, a SQL Server Express 2012 (64bit).

    Il problema è che il provider Microsoft.Jet.OLEDB.4.0 non esiste per i 64bit, e da qui nasce il problema.

    SSMS non elenca nemmeno il provider, quindi non se ne parla.

    Ho provato utilizzando la sp_addlinkedserver, seguendo quanto indicato qui:

    sp_addlinkedserver (Transact-SQL)
    http://msdn.microsoft.com/en-us/library/ms190479.aspx

    Non è però specificato come indicare la password per il database Access, quindi per ora ho provato con un db senza password.

    Ho provato utilizzando due provider differenti:

    sp_addlinkedserver 'BIBLIO_LNK', 'Microsoft.Jet.OLEDB.4.0', 'D:\BIBLIO\biblio2000.mdb'
    sp_addlinkedserver 'BIBLIO_LNK', 'Microsoft Access Driver','D:\BIBLIO\biblio2000.mdb'

    Ma entrambi non sortiscono il risultato desiderato.

    Da SSMS vedo che il server BIBLIO_LNK viene creato, ma quando tento di accedere alle tabelle, ricevo il seguente errore:

    TITOLO: Microsoft SQL Server Management Studio
    ------------------------------
    Impossibile recuperare i dati per la richiesta specificata. (Microsoft.SqlServer.Management.Sdk.Sfc)
    Per visualizzare le informazioni della Guida, fare clic qui: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&LinkId=20476
    ------------------------------
    ULTERIORI INFORMAZIONI:
    Eccezione durante l'esecuzione di un'istruzione o un batch Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
    ------------------------------
    Il provider OLE DB "D:\BIBLIO\biblio2000.mdb" non è stato registrato. (Microsoft SQL Server, errore: 7403)
    Per visualizzare le informazioni della Guida, fare clic qui: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.3128&EvtSrc=MSSQLServer&EvtID=7403&LinkId=20476

    Se richiamo la guida, nisba perché sul browser mi dice:

    We're sorry
    There is no additional information about this issue........

    Ora, a parte la questione password, per noi il problema è serio perché non vogliamo importare la tabella del db Access (che è gestito da un'altra applicazione, e questo obbligherebbe a gestire la sincronizzazione dei dati) ma vogliamo semplicemente collegare per leggere qui pochi dati (all'incirca 150 record).

    Ho letto anche questa discussione:

    Sincronizzazione db SQLServer con db MS Access
    http://social.technet.microsoft.com/forums/sqlserver/it-IT/7317f1fd-1a9e-47b3-9fdc-a4ea62d38ca3/sincronizzazione-db-sqlserver-con-db-ms-access

    ma il problema è leggermente diverso perchè l'ambiente è: Sistema operativo W7 a 32 bit, SQLServer a 32 bit

    Mentre noi abbiamo: Windows 7 Pro 64bit e SQL Server a 64bit.

    Come posso risolvere? 



    Giorgio Brausi (aka gibra)


    giovedì 12 giugno 2014 12:57

Tutte le risposte

  • salve,

    prova ad utilizzare Microsoft.ACE.OLEDB.12.0 a 64 bit

    http://msdn.microsoft.com/it-it/library/ms190479.aspx

    saluti


    http://www.hotelsole.com/asql/index.php - DbaMgr2k - DbaMgr and further SQL Tools http://www.hotelsole.com/

    venerdì 13 giugno 2014 16:05
    Moderatore
  • aggiungo per approfondire questa discussione questo thread

    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/6d80822d-34a8-4d12-b9ad-92abf515a973/sql-server-64-bit-connecting-to-ms-access


    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    sabato 14 giugno 2014 18:31
    Moderatore