アップロード方法についてはメッセージを伝えるイメージにはSQLサーバー R
質問
私の作成にあるグラフを変更したいデータベース化する。の手続きの私です:
- 作成したのみのグラフをpng、jpegファイルです。
- 読み取ることとしてファイルにバイナリーベクター
- sqlUpdate
私のコード手順2&3:
pngfile <- file(<filename>, "rb")
N <- 1e6
repeat{
pngfilecontents <- readBin(pngfile, what="raw", n=N)
if(length(pngfilecontents) == N) N <- 5 * N else break
}
close(pngfile)
テーブルがありdf_DemandPatternMasterのデータベースの主キー DemandPatternID、適切な記録の場合はNULL値pngFileます。
update.query <- "update df_DemandPatternMaster set "
update.query <- paste( update.query, " pngFile = '", serialize(pngfilecontents, NULL) , "' where DemandPatternID = ", , sep="")
d <- sqlQuery(connection, update.query)
私は挿入のみをバイトのデータです。その理由のようではペーストの直列化されたベクターを作成し、ベクトルレ&接尾辞です。またはpngファイルを扱う直接
pngfile <- file(<filename>, "rb")
update.query <- paste( update.query, " pngFile = '", pngfile, "' where DemandPatternID = ", , sep="")
これも失敗します。
せの際お申し出ください.
解決
おそらくあなたは、単一の文字列にpngfilecontentsベクトルを折りたたむ場合。ような何かます:
update.query <- "update df_DemandPatternMaster set "
update.query <- paste( update.query, " pngFile = '", paste(pngfilecontents, collapse="") , "' where DemandPatternID = ", sep="")
他のヒント
私は、データベースでこれを試していないが、テキストファイルから/にシリアライズするとき、私は最近、いくつかの課題がありました。ここで私はそれが関連するかもしれない尋ね質問ですね。あなたは、シリアル化して、ASCII = Tスイッチを使用してみましたか?その後でとrawToCharなしの両方試してみてください。
私はあなたのコードをテストするための簡単な環境を持っていないが、私はあなたが思い付くものに興味があります。私は最終的にオブジェクトをシリアライズし、DBにそれらを置くことになるいくつかのコードに取り組んでいます。私はまだその点にだけではありませんよ。
所属していません StackOverflow