2017-03-14 19 views
0

テーブルを持っていますTeradataの環境にレコードを挿入したいR DBに接続してJDBCを使用してテーブルを作成しました ドキュメントを読むことから独自の手動挿入文を作成する以外は、システムにレコードを挿入する簡単な方法のようです。私はapply(または類似のもの)を使ってベクトル化されたアプローチを作成することでこれをしようとしていますrを使用してデータベースにレコードを挿入する

以下は私のコードですが、正しく適用されません。誰も助けることができますか?

s <- seq(1:1000) 
str_update_table <- sprintf("INSERT INTO foo VALUES (%s)", s) 

# Set Up the Connections 
myconn <- dbConnect(drv,service, username, password) 

# Attempt to run each of the 1000 sql statements 
apply(str_update_table,2,dbSendUpdate,myconn) 

答えて

1

私はテストするためのインフラストラクチャを持っていませんが、適用が適用される場所を適用するベクトルを渡します。あなたのベクトルstr_update_tableの場合、2が適用されていても意味がありません。

Map(function(x) dbSendUpdate(myconn, x), str_update_table) 

(未テスト)

+0

こんにちは@BernhardのようMapを試してみてください。私はこのためにpurrrを使うことができることを望んでいたので、それを提案してくれてありがとう。それは完全に動作します。申し訳ありませんが、もともとタイプミスがありました –

+0

私は 'purrr'に慣れていませんが、このような簡単な作業は通常、追加のパッケージなしでうまくいきます。うれしい、それはあなたのために働いた。 – Bernhard

関連する問題