2016-11-05 35 views
0

私はsqliteデータベースを指しているSQL Serverのリンクサーバーを持っています。 select文は実行できますが、挿入はできません。ジャーナリング(journal_mode = off)や一時ストアをオフにする必要があるようです。それを行うための適切なコマンドは何ですか?私が現在持っていることは次のとおりです。SQL Serverのsqliteデータベースへのリンクサーバー - プラグマの設定方法?

select * 
from openquery([name of my linked server], 'PRAGMA temp_store=2') 

エラーは次のとおりです。

オブジェクト "プラグマtemp_store = 2" を処理できません。リンクサーバー "サーバーの名前"のOLE DBプロバイダ "MSDASQL"は、オブジェクトに列がないか、現在のユーザーにそのオブジェクトに対するアクセス許可がないことを示します。

データを挿入するために失敗したコマンドは次のとおりです。

insert openquery ([name of my linked server], 'select * from table1') 

select top 1 * from table1 -- table 1 in sql server has the same structure as table 1 in sqlite. 

エラーは次のとおりです。

OLE DBプロバイダ "MSDASQL" リンクサーバー "[私のリンクサーバーの名前]" が返さメッセージ "データベースファイルを開くことができません(14)"。

私はヘルプ/アドバイスをいただければ幸いです。ありがとう。

答えて

0

SQLiteでは、SELECTステートメントだけがデータを返し、SELECTステートメントは読み取り専用です。

リンクサーバーからデータを読み込んで返すには、OPENQUERYを使用します。
リンクサーバーで他のステートメントを実行するには、EXECUTEを使用します。

関連する問題