Проблемы с RODBC sqlSave

Мне трудно вставить фрейм данных в базу данных mySql с помощью RODBC. Ниже приведен код, который я использую:

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"))

Для меня это не имеет никакого смысла, поскольку столбцы уже находятся во фрейме данных с такими же именами столбцов.

8
задан Tim Post 3 August 2011 в 17:06
поделиться