如何将SQL Server 2008服务器链接到SQLite服务器?

我想将SQLite服务器与SQL Server 2008服务器“链接”。 例如使用sp_addlinkedserver命令。 我如何做到这一点?

我搜查了很多,但没有find解决这个问题的方法。 我发现的最接近的尝试是:

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' 

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

理论上,如果你可以安装ODBC驱动程序,你可以创build一个系统DSN。 如果您可以创build系统DSN,则可以将其添加为链接的服务器。

当然,如果OLEDB / ODBC驱动程序是32位而SQL Server是64位的,那么OLEDB和ODBC都倾向于倒下; 我不相信你可以在64位SQL中实例化一个32位的OLEDB / ODBC驱动程序(我认为我们和Excel有类似的问题)

HTH

J.

链接服务器提供商列表中是否有OleSQLite.SQLiteSource.1 ? 如果不是的话,你应该确保你已经在你的机器上安装了这些驱动程序(至less重新启动了SQL Server服务,以确保它能够启动它们)。