I have the sqlite3 installed in my Windows 10 64-bits. In order to have communication between sqlite3 and other Windows apps, I installed the SQLite3 ODBC Drivers (from www.ch-werner.de/sqliteodbc).
Until now I have accomplished to connect the sqlite3 database to Excel and to SQL Server.
However, in the SQL Server, some errors arise. To register the sqlite3 server I run:
EXEC sp_addlinkedserver @Testta = 'SQLITE3' , @provider= 'MSDASQL.1' , @provstr= 'DRIVER={SQLite3 ODBC Driver};DATABASE=C:\Users\me.me\Desktop\My Directory\mydb.db;Persist Security Info=True;StepAPI=0;SyncPragma=NORMAL;NoTXN=0;Timeout=100000;ShortNames=0;LongNames=0;NoCreat=0;NoWCHAR=0;FKSupport=0;JournalMode=;OEMCP=0;LoadExt=;BigInt=0;JDConv=0;Initial Catalog=log;'
;
EXEC sp_testlinkedserver [SQLITE3]; -- completed successfully!
Now, the following runs ok:
SELECT s FROM OPENQUERY([SQLITE3],'select s from log') AS t;
But, I can't make an update:
UPDATE OPENQUERY([SQLITE3],'select s from log') SET s='hello'
OLE DB provider "MSDASQL.1" for linked server "SQLITE3" returned message "Este fornecedor não suporta acessores nulos.". (This provider doesn't support null accessors...) OLE DB provider "MSDASQL.1" for linked server "SQLITE3" returned message "Este fornecedor não suporta acessores nulos.". Msg 7330, Level 16, State 2, Line 27 Cannot fetch a row from OLE DB provider "MSDASQL.1" for linked server "SQLITE3".
Also, the following doesn't run:
SELECT s FROM [SQLITE3]...[log] AS t
Msg 7318, Level 16, State 1, Line 29 The OLE DB provider "MSDASQL.1" for linked server "SQLITE3" returned an invalid column definition for table "log".
Could anyone help me on these two issues?