如何将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'

Answers:


2

使用ODBC驱动程序可能会更好。Google上有一些,其中一个是http://www.patthoyts.tk/sqlite3odbc.html

从理论上讲,如果可以安装ODBC驱动程序,则可以创建系统DSN。如果可以创建系统DSN,则可以将其添加为链接服务器。

当然,如果OLEDB / ODBC驱动程序是32位并且SQL Server是64位,则OLEDB和ODBC都倾向于崩溃。我不相信您可以在64位SQL中实例化32位OLEDB / ODBC驱动程序(我认为我们在使用Excel时遇到了类似的麻烦)

高温超导

J.


0

您是否OleSQLite.SQLiteSource.1在链接服务器提供商列表中?如果不是,则应确保已在计算机上安装了这些驱动程序(并至少重新启动了SQL Server服务以确保它能够将它们启动)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.