2017-04-11 14 views
0

アクセスDBに私が取得していますそのためにTest1のような特殊文字を含むテキストデータを( "」、)持って挿入エラー:RからのアクセスDBへ

sql <- paste0("INSERT INTO test(test1,test2,test3) 
      VALUES('",df1$test1,"','",df1$test2,"','",df1$test2,"',)") 
appendRecords <- lapply(sql, function(x) sqlQuery(channel, x)) 

列をRからデータを挿入するには、以下のコードを使用しました次のエラー

[1] "42000 -3100 [Microsoft][ODBC Microsoft Access Driver] Syntax error 
(missing operator) in query expression '\\\\.\\ROOT\\XXXX' \\n \\n...''." 

列 のデータ( '\\。\ ROOTの\のXXXX' \ N \ N ... ''。)

??

をその問題を解決する方法0
+0

最後の値の後に余分なカンマがあるようです。 '' df1 $ test2 ''、 ''、df1 $ test2、 '') 'sql < - paste0( "INSERT INTO test(test1、test2、test3) ) 'また、' sqlQuery'ではなく 'sqlUpdate'を使うこともできます。なぜなら、ここでは何も取得しないからです。 – Psidom

+0

他の値を挿入できます。データに特殊文字が含まれている場合、そのレコードは無視されます –

+0

''\\。\ ROOT \ XXXX''はデータフレームの元の文字列ですか? Rのエンコーディング/デコードの文字列を検索する価値がありますか? – Psidom

答えて

0

永続的な解決策を見つけることができません。 私は一時的な解決策を作ったので、これがすべて役立つことを願っています。

df1$test1 = gsub("'", "", as.character(df1$test1)) # this remove '. 

その後、それをDBに挿入します。

関連する問題