SQLiteサーバーをSQLServer2008サーバーに「リンク」したいと思います。例えば。 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'
ODBCドライバで幸運を祈るかもしれません。Googleにはいくつかありますが、そのうちの1つは http://www.patthoyts.tk/sqlite3odbc.html です。 。
理論的には、ODBCドライバーをインストールできれば、システムDSNを作成できます。システムDSNを作成できれば、リンクサーバーとして追加できます。
もちろん、OLEDBとODBCは、OLEDB/ODBCドライバーが32ビットで、SQL Serverが64ビットの場合、倒れる傾向があります。32をインスタンス化できるとは思いません。 64ビットSQLのビットOLEDB/ODBCドライバー(Excelでも同様の問題が発生したと思います)
HTH
J。
ありますか OleSQLite.SQLiteSource.1
リンクサーバープロバイダーのリストにありますか?そうでない場合は、それらのドライバーがマシンにインストールされていることを確認する必要があります(そして、少なくともSQL Serverサービスを再起動して、それらが確実に取得されるようにします)。