Si vous souhaitez autoriser les requêtes distribuées ad hoc sur votre serveur SQL, vous pouvez utiliser OPENDATASOURCE pour récupérer les données d'un fichier MDB.
SELECT * INTO dbo.TestAccess FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\server\share\somefolder\scratchpad.mdb"')...MyTable;
Ou après avoir créé la table de destination, vous pouvez préférer:
INSERT INTO dbo.TestAccess
SELECT * FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\server\share\somefolder\scratchpad.mdb"')...MyTable;
Afin d'obtenir ceux à courir, je devais permettre des requêtes distribuées ad hoc comme celui-ci:
sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE WITH OVERRIDE;
GO
J'ai trouvé les instructions de configuration on TechNet, mais cela n'a pas fonctionné pour moi jusqu'à ce que j'ajoute WITH OVERRIDE.
Modifier: J'ai ajouté une balise sql-server à votre question car je veux savoir si ma suggestion est dangereuse. Peut-être que la mise en place du MDB en tant que serveur lié est un moyen plus sûr d'y aller. Je ne sais pas.
ce que ce sera un événement d'une fois? ou est-ce que cela doit fonctionner tout le temps - comme dans un schéma de réplication dynamique? – Randy
comme je l'ai dit que je dois créer une procédure stockée donc je dois courir cela comme une tâche planifiée – Asha