2017-07-21 11 views
0

私はテーブルを作成し、毎日新しい結果を追加するsqlite dbを持っています。このプロセスはRStudioで手作業で行われ、ヒットが実行されました!RSQLite -/var/tmpにデータベースジャーナルファイルを作成

私はジェンキンスを使用して、私のスクリプトをスケジュールすることを決めたと、私は次のエラーを取得保管として、私はそれを実行することができませんでした、最後の5時間:

Error in rsqlite_bind_rows([email protected], value) : unable to open database file Calls: source ... tryCatch -> tryCatchList -> rsqlite_bind_rows -> .Call 

最初は良いunixのように、それがダウン許可に思いました市民私は777に私のデータベースをchmod'ed。同じエラー!

は、次に(残念ながら)パッケージの更新のウサギの穴を下って行った:dplyrdbplyrDBI - 各パッケージ内のすべての最新の変更を読むなどない幸運...

を私は点滅dbname.sqlite3-journalを見るまでRstudioファイルウィンドウ。このファイルは、一時テーブルとインデックス用にsqliteによって作成されています。

明らかに、このファイルはすべてのトランザクションが完了してDBから切断された時点で消えています。

もちろん、Jenkinsにはこのファイルを変更する権限がありません。

回避策は、私が現時点でやっていることであり、働いているディレクトリに完全な書き込みを与えることです。

代わりに/var/tmpにこのファイルを送信する方法があるのでしょうか? 777戦略に熱心ではありません。以下のような

何か:temp_store_directory pragmaは助けることができる

con <- DBI::dbConnect(RSQLite::SQLite(), db, create = F, journal='/var/tmp') 
+0

どのような呼び出しでエラーメッセージが表示されますか?あなたは少なくとも接続を確立できますか?はいの場合は、['temp_store_directory'プラグマ(https://sqlite.org/pragma.html#pragma_temp_store_directory)を試してみてください。 – krlmlr

+0

はい接続できます - db_insert_intoを使用すると問題が発生します – Altons

答えて

0

。接続を確立した後に実行してください:

dbExecute(con, "PRAGMA temp_store_directory = '/var/tmp'") 

これをJenkinsのインストールで使用できるかどうか確認してください。

関連する問題