Friday, 3 May 2013

Add Linked Server / Creating Linked Server & using OPENQUERY

Ref: http://msdn.microsoft.com/en-us/library/aa259589%28v=sql.80%29.aspx
Solutions :   

Syntax
 sp_addlinkedserver [ @server = ] 'server'      // Remote Computer Name
      [ , [ @srvproduct = ] 'product_name' ]        // Not Needed
    [ , [ @provider = ] 'provider_name' ]            // SQL Server Driver
    [ , [ @datasrc = ] 'data_source' ]                  // Server Name And Instance
    [ , [ @location = ] 'location' ]
    [ , [ @provstr = ] 'provider_string' ]
    [ , [ @catalog = ] 'catalog' ]

Example 1 : (Creating Linked server use excel 2003)
 EXEC sp_addLinkedServer 
    @server= 'Xls_2003',
    @srvproduct = '
Jet 4.0',
    @provider = '
Microsoft.Jet.OLEDB.4.0',
    @datasrc = 'E:\SQL Server\LinkedServer2003.xls',
    @provstr = 'Excel 5.0; HDR=Yes';

GO


Query
1.SELECT * FROM OPENQUERY (XLS_2003, 'Select * from [Sheet1$]')
2. SELECT * FROM XLS_2003...[Sheet1$]
 
Example 2 : (Creating Linked server use excel 2007)
 EXEC sp_addLinkedServer 
    @server= 'Xlsx_2007',
    @srvproduct = '
ACE 12.0',
    @provider = '
Microsoft.ACE.OLEDB.12.0',
    @datasrc = 'E:\SQL Server\LinkedServer2007.xlsx',
    @provstr = 'Excel
12.0; HDR=Yes';
GO


Query
1.SELECT * FROM OPENQUERY (XLS_2007, 'Select * from [Sheet1$]')
2. SELECT * FROM XLS_2007...[Sheet1$]


Example 3 : (Creating Linked server use excel 2010)

***If use 2010 excel add "MS Access Database Engine"

 EXEC sp_addLinkedServer 
    @server= 'XLSX_2010',
    @srvproduct = 'Excel',
    @provider = 'Microsoft.ACE.OLEDB.12.0',
    @datasrc = 'E:\SQL Server - Blogs\LinkedServer2010.xlsx',
    @provstr = 'Excel 12.0; HDR=Yes';

GO


Query
1.SELECT * FROM OPENQUERY (XLSX_2010, 'Select * from [Sheet1$]')
2. SELECT * FROM XLSX_2010...[Sheet1$]
 
*** use : Enable advanced options 


Example 2 : (Creating Linked server use MSAccess) 
 EXEC sp_addLinkedServer 
    @server= 'MSAccess',
    @srvproduct = 'OLE DB Provider for Jet',
    @provider = 'Microsoft.Jet.OLEDB.4.0',
    @datasrc = N'E:\SQL Server - Blogs\LinkedServer.mdb',

GO

No comments:

Post a Comment