RODBC を使用してデータ フレームを mySql データベースに挿入するのに苦労しています。以下は私が使用しているコードです:
data <- data.frame(analysedDataID=c(1,2,3), plateWell=c("a","b","c"), screenPlateOrder=c(1,2,3), wellData=c("A","B","C"))
con <- odbcConnect(DSN, uid="user_id", pwd="some_password")
query <- sqlSave(con, data, tablename = 'wellAnalysedDataTable', rownames=FALSE, append=TRUE)
これを実行しようとすると、次のエラー メッセージが表示されます。
Error in odbcUpdate(channel, query, mydata, coldata[m, ], test = test, :
missing columns in 'data'
データを挿入しようとしている特定のテーブルは次のとおりです。
+------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+-------+
| analysedDataID | int(10) | YES | | NULL | |
| plateWell | varchar(10) | YES | | NULL | |
| screenPlateOrder | int(10) | YES | | NULL | |
| wellData | varchar(30) | YES | | NULL | |
+------------------+-------------+------+-----+---------+-------+
ドキュメントを何度も読んだが、これを機能させることができないので、この時点で本当に混乱しています。どんな助けでも大歓迎です!
乾杯!
ありがとう!ご提案いただいた変更を加えましたが、ケースに問題はないようです。ただし、次のエラーメッセージが表示され続けます。
'index column(s) analysedDataID plateWell screenPlateOrder wellData not in data frame'
これを生成する実行中のステートメントは次のとおりです。
sqlUpdate(con, data, tablename="wellAnalysedDataTable", index=c("analysedDataID", "plateWell", "screenPlateOrder", "wellData"))
列は同じ名前のデータ フレームに既にあるため、これは意味がありません。