Làm cách nào để liên kết máy chủ SQL Server 2008 với máy chủ SQLite?


8

Tôi muốn "Liên kết" máy chủ SQLite với máy chủ SQL Server 2008. Ví dụ: sử dụng sp_addlinkedserverlệnh. Làm thế nào để tôi làm điều này?

Tôi đã tìm kiếm rất xa, nhưng không tìm thấy giải pháp nào cho vấn đề này. Nỗ lực gần nhất tôi đã tìm thấy là ở đây:

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'

Câu trả lời:


2

Bạn có thể gặp may mắn hơn với trình điều khiển ODBC. Có một số ít trên Google, một trong số đó là http://www.patthoyts.tk/sqlite3odbc.html .

Về mặt lý thuyết, nếu bạn có thể cài đặt trình điều khiển ODBC, bạn có thể tạo DSN hệ thống. Nếu bạn có thể tạo DSN hệ thống, bạn có thể thêm nó dưới dạng máy chủ được liên kết.

Tất nhiên, cả OLEDB và ODBC đều có xu hướng giảm nếu trình điều khiển OLEDB / ODBC là 32 bit và SQL Server là 64 bit; Tôi không tin rằng bạn có thể khởi tạo trình điều khiển OLEDB / ODBC 32 bit bằng SQL 64 bit (Tôi nghĩ rằng chúng tôi đã gặp sự cố tương tự với Excel)

HTH

J.


0

Bạn có OleSQLite.SQLiteSource.1trong danh sách các nhà cung cấp Máy chủ được liên kết không? Nếu không, bạn nên đảm bảo rằng bạn đã cài đặt các trình điều khiển đó trên máy của mình (và khởi động lại dịch vụ SQL Server ít nhất để đảm bảo rằng nó chọn chúng).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.