Bagaimana menautkan SQL Server 2008 Server ke SQLite Server?

8

Saya ingin "Menautkan" server SQLite dengan server SQL Server 2008. Misalnya menggunakan sp_addlinkedserverperintah. Bagaimana saya melakukan ini?

Saya telah mencari jauh dan luas, tetapi tidak menemukan solusi untuk masalah ini. Upaya terdekat yang saya temukan ada di sini:

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'
pengguna48962
sumber

Jawaban:

2

Anda mungkin lebih beruntung dengan driver ODBC. Ada beberapa di Google, salah satunya adalah http://www.patthoyts.tk/sqlite3odbc.html .

Secara teoritis, jika Anda dapat menginstal driver ODBC, Anda dapat membuat sistem DSN. Jika Anda dapat membuat sistem DSN, Anda dapat menambahkannya sebagai server tertaut.

Tentu saja, baik OLEDB dan ODBC cenderung jatuh jika driver OLEDB / ODBC 32-bit dan SQL Server 64-bit; Saya tidak percaya Anda dapat instantiate driver OLEDB / ODBC 32-bit dalam SQL 64-bit (saya pikir kami memiliki masalah serupa dengan Excel)

HTH

J.

jimbobmcgee
sumber
0

Apakah Anda memiliki OleSQLite.SQLiteSource.1daftar penyedia Server Linked? Jika tidak, Anda harus memastikan Anda telah menginstal driver-driver itu di mesin Anda (dan me-restart layanan SQL Server setidaknya untuk memastikan itu mengambil mereka).

Rob Farley
sumber