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'

回答:


2

ODBCドライバーを使用すると運が良くなる可能性があります。Googleにはいくつかありますが、そのうちの1つはhttp://www.patthoyts.tk/sqlite3odbc.htmlです。

理論的には、ODBCドライバーをインストールできれば、システムDSNを作成できます。システムDSNを作成できる場合は、それをリンクサーバーとして追加できます。

もちろん、OLEDB / ODBCドライバーが32ビットでSQL Serverが64ビットの場合、OLEDBとODBCの両方がフォールオーバーする傾向があります。32ビットOLEDB / ODBCドライバーを64ビットSQLでインスタンス化できるとは思いません(Excelで同様の問題があったと思います)

HTH

J.


0

あなたは持っていますOleSQLite.SQLiteSource.1リンクサーバープロバイダのリストに?そうでない場合は、それらのドライバがマシンにインストールされていることを確認する必要があります(少なくともSQL Serverサービスを再起動して、それらが正しく機能することを確認してください)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.