私はテーブルを作成し、毎日新しい結果を追加する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。同じエラー!
は、次に(残念ながら)パッケージの更新のウサギの穴を下って行った:dplyr
、dbplyr
、DBI
- 各パッケージ内のすべての最新の変更を読むなどない幸運...
を私は点滅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')
どのような呼び出しでエラーメッセージが表示されますか?あなたは少なくとも接続を確立できますか?はいの場合は、['temp_store_directory'プラグマ(https://sqlite.org/pragma.html#pragma_temp_store_directory)を試してみてください。 – krlmlr
はい接続できます - db_insert_intoを使用すると問題が発生します – Altons