2010-08-20 10 views

Répondre

5

Vous pouvez utiliser le pilote OLE DB ou ODBC. J'ai généralement utilisé le pilote OLE DB. J'ai trouvé plus facile d'utiliser l'interface graphique pour la créer en premier, puis de générer les commandes SQL.
Mais ... Voici quelques commandes que j'utilisais pour tester récemment.

EXEC master.dbo.sp_addlinkedserver @server = N'DBF_TEST', @srvproduct=N'Advantage', @provider=N'Advantage OLE DB Provider', @datasrc=N'c:\ads\dbftest', @provstr=N'servertype=ads_remote_server;tabletype=ads_cdx;' 
/* For security reasons the linked server remote logins password is changed with ######## */ 
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'DBF_TEST',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL 

Ensuite, vous sélectionnez devez utiliser la syntaxe OPENQUERY

SELECT * FROM OPENQUERY(dbf_test, 'SELECT * FROM table1') 
+0

Wow, merci beaucoup. Ai-je raison de dire que le fichier .dbf doit exister sur la même machine physique? – WoundedEgo

+0

Je suppose que vous demandez si le DBF doit être sur la même machine que le serveur Advantage. La réponse non, mais je vous recommande de conserver les données sur la même machine que le serveur Advantage. Si vous voulez les données sur une autre machine ou un NAS, cette page peut vous aider (je crois qu'elle a d'abord été supportée en 8.x) http://devzone.advantagedatabase.com/dz/WebHelp/Advantage10/index.html?master_network_attached_storage_nas_devices .htm – Edgar