Como vincular um servidor SQL Server 2008 a um servidor SQLite?

8

Eu quero "vincular" um servidor SQLite a um servidor SQL Server 2008. Por exemplo. usando o comando sp_addlinkedserver . Como faço isso?

Eu pesquisei muito, mas não encontrei solução para esse problema. A tentativa mais próxima que encontrei está aqui:

link

--#################################################################################################
--Linked server Syntax for SQLite 
--using OLE provider C:\Program Files\Cherry City Software\SQLiteProvider\SQLitePV.dll
--from http://cherrycitysoftware.com/ccs/Download/Download.aspx
--#################################################################################################
DECLARE @server     sysname,
        @srvproduct nvarchar(256),
        @provider   nvarchar(256),
        @datasrc    nvarchar(100),
        @location   nvarchar(100),
        @provstr    nvarchar(100),
        @catalog    sysname,
        @sql        varchar(1000)
--add an SQLite Database as a linked server
SET @server = N'mySQLite'
SET @srvproduct = N'SQLite Provider'
SET @provider = N'OleSQLite.SQLiteSource.1'
SET @datasrc = N'C:\Data\LowellSSC.db3'
set @provstr    = ''
EXEC sp_addlinkedserver  @server,@srvproduct,@provider,@datasrc,NULL,@provstr
exec sp_addlinkedsrvlogin @rmtsrvname='mySQLite', 
@useself = N'false',
@locallogin = NULL,
@rmtuser = N'Admin',
@rmtpassword = NULL

--list all the tables and their names
EXEC sp_tables_ex 'mySQLite'
--above fails with this error:
--Msg 7302, Level 16, State 1, Procedure sp_tables_ex, Line 41
--Cannot create an instance of OLE DB provider "OleSQLite.SQLiteSource.1" for linked server "mySQLite".
GO
EXEC dbo.sp_DropServer 'mySQLite', 'DropLogins'
    
por user48962 21.07.2010 / 23:37

2 respostas

2

Você pode ter mais sorte com um driver ODBC. Existem alguns no Google, um dos quais é o link .

Teoricamente, se você puder instalar o driver ODBC, poderá criar um DSN do sistema. Se você puder criar um DSN do sistema, poderá adicioná-lo como um servidor vinculado.

É claro que tanto o OLEDB quanto o ODBC tendem a falhar se os drivers OLEDB / ODBC forem de 32 bits e o SQL Server de 64 bits; Eu não acredito que você pode instanciar um driver OLEDB / ODBC de 32 bits em SQL de 64 bits (acho que tivemos problemas semelhantes com o Excel)

HTH

J.

    
por 30.07.2010 / 05:11
0

Você tem OleSQLite.SQLiteSource.1 em sua lista de provedores de servidores vinculados? Caso contrário, certifique-se de ter instalado esses drivers em sua máquina (e reiniciado o serviço do SQL Server, pelo menos, para ter certeza de que eles serão recuperados).

    
por 22.07.2010 / 03:35