Как связать сервер SQL Server 2008 с сервером SQLite?

8

Я хочу "связать" сервер SQLite с сервером SQL Server 2008. Например, используя sp_addlinkedserverкоманду. Как мне это сделать?

Я искал повсюду, но не нашел решения этой проблемы. Ближайшая попытка, которую я нашел, здесь:

http://www.sqlservercentral.com/Forums/Topic866972-149-1.aspx

--#################################################################################################
--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'
user48962
источник

Ответы:

2

Возможно, вам повезет больше с драйвером ODBC. В Google есть несколько, одним из которых является http://www.patthoyts.tk/sqlite3odbc.html .

Теоретически, если вы можете установить драйвер ODBC, вы можете создать системный DSN. Если вы можете создать системный DSN, вы можете добавить его в качестве связанного сервера.

Конечно, и OLEDB, и ODBC имеют тенденцию перепадать, если драйверы OLEDB / ODBC являются 32-разрядными, а SQL Server - 64-разрядными; Я не верю, что вы можете создать экземпляр 32-битного драйвера OLEDB / ODBC в 64-битном SQL (думаю, у нас были похожие проблемы с Excel)

НТН

J.

jimbobmcgee
источник
0

Есть ли у вас OleSQLite.SQLiteSource.1в списке поставщиков связанных серверов? Если нет, вам следует убедиться, что вы установили эти драйверы на свой компьютер (и перезапустили службу SQL Server по крайней мере, чтобы убедиться, что она их подхватывает).

Роб Фарли
источник