52 messaggi dal 11 marzo 2008
Ho un database SQL Server 2005 9.0.4035 che deve connettersi con linked server ad un database Access non protetto posto su un altro server. Ho inoltre un altro server dove è installato un applicativo che si deve connettere tramite SLQ Management a SQL Server
Ho creato il linked server NOTECENTRO e specificato le security tramite i seguenti comandi

EXEC sp_addlinkedserver NOTECENTRO , 'Access', 'Microsoft.Jet.OLEDB.4.0', '\\nomeserver\data\DBAccess.mdb'
GO
EXEC sp_addlinkedsrvlogin 'NOTECENTRO' , false, 'sa', 'Admin', NULL
GO



ma ogni volta che provo a lanciare un'openquery il risultato è

OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "NOTECENTRO" returned message "Il modulo di gestione di database Microsoft Jet non è in grado di aprire il file '\\nomeserver\data\DBAccess.mdb'. Il file è già aperto con accesso esclusivo da un altro utente o è necessario disporre dell'autorizzazione per visualizzare i dati.".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "NOTECENTRO".


Ho controllato nella cartella dove è presente il file,che è condivisa e accessibile a everyone, e non risulta aperto, ovvero non è presente il file .ldb

Quando provo a sfogliare il linked server nell'Object Explorer ottengo questo errore

http://img406.imageshack.us/img406/9390/erroryg.jpg



Grazie infinite
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
symonx80 wrote:
Ho un database SQL Server 2005 9.0.4035 che deve connettersi con linked server ad un database Access non protetto posto su un altro server. Ho inoltre un altro server dove è installato un applicativo che si deve connettere tramite SLQ Management a SQL Server
Ho creato il linked server NOTECENTRO e specificato le security tramite i seguenti comandi
EXEC sp_addlinkedserver NOTECENTRO , 'Access',
'Microsoft.Jet.OLEDB.4.0', '\\nomeserver\data\DBAccess.mdb' GO
EXEC sp_addlinkedsrvlogin 'NOTECENTRO' , false, 'sa', 'Admin', NULL GO
ma ogni volta che provo a lanciare un'openquery il risultato è OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "NOTECENTRO" returned message "Il modulo di gestione di database Microsoft Jet non è in grado di aprire il file
'\\nomeserver\data\DBAccess.mdb'. Il file è già aperto con accesso esclusivo da un altro utente o è necessario disporre
dell'autorizzazione per visualizzare i dati.".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "NOTECENTRO".
Ho controllato nella cartella dove è presente il file,che è condivisa e accessibile a everyone, e non risulta aperto, ovvero non è presente il file ldb
Quando provo a sfogliare il linked server nell'Object Explorer ottengo questo errore
http://img406.imageshack.us/img406/9390/erroryg.jpg
Grazie infinite

se il servizio locale di SQL Server gira nel contesto di protezione di un account di sistema (NetworkService, LocalSystem, ....) molto probabilmente non riuscirai a percorrere ed accedere ad un percorso di rete, e non potrai estendere privilegi su una macchina remota a questi account "sconosciuti" a livello locale (della macchina remota)... prova eventualmente a verificare di usare un account "vero" e non di sistema, possibilmente di dominio, ed imponi le limitazioni che ritieni necessarie a livello di DC per questo account...
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
52 messaggi dal 11 marzo 2008
Alla fine ho creato il linked server copiando il file access a cui deve accedere sulla macchina in cui ho SQL Server.Ho dato i permessi di gestione completa del file ad everyone.
Ho dato i diritti all'utente 'sa' e all'utente x che dovrà utilizzarlo sulla macchina in cui dovrà essere installato l'applicativo.
Con sa riesco ad accedere alle tabelle mentre con l'utente x mi appare il seguente messaggio di errore

TITLE: Microsoft SQL Server Management Studio
------------------------------

Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

The EXECUTE permission was denied on the object 'xp_prop_oledb_provider', database 'mssqlsystemresource', schema 'sys'. (Microsoft SQL Server, Error: 229)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=229&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

come posso fare?
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
symonx80 wrote:
Alla fine ho creato il linked server copiando il file access a cui deve accedere sulla macchina in cui ho SQL Server.Ho dato i permessi di gestione completa del file ad everyone.
Ho dato i diritti all'utente 'sa' e all'utente x che dovrà utilizzarlo sulla macchina in cui dovrà essere installato l'applicativo. Con sa riesco ad accedere alle tabelle mentre con l'utente x mi appare il seguente messaggio di errore
TITLE: Microsoft SQL Server Management Studio
The EXECUTE permission was denied on the object
'xp_prop_oledb_provider', database 'mssqlsystemresource', schema 'sys'. (Microsoft SQL Server, Error: 229)

http://blogs.msdn.com/b/john_daskalakis/archive/2010/02/01/9956271.aspx saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.