Подключение R к Teradata VOLATILE TABLE
Я использую R, чтобы попытаться подключиться к базе данных teradata, и столкнулся с трудностями. Шаги в этом процессе приведены ниже.
1) Создать соединение 2) Создать VOLATILE TABLE 3) Загрузить информацию из фрейма данных в таблицу Volatile
Вот где это терпит неудачу, давая мне сообщение об ошибке
Ошибка в sqlSave(conn, mydata, tablename = "TEMP", rownames = FALSE,: первый аргумент не является открытым каналом RODBC
Код ниже
# Import Data From Text File and remove duplicates
mydata = read.table("Keys.txt")
mydata.unique = unique(mydata)
strSQL.TempTable = "CREATE VOLATILE TABLE TEMP………[Table Details]"
"UNIQUE PRIMARY INDEX(index)"
"ON COMMIT PRESERVE ROWS;"
# Connect To Database
conn <- tdConnect('Teradata')
# Execute Temp Table
tdQuery(strSQL.TempTable)
sqlSave(conn, mydata, tablename = "TEMP ",rownames = FALSE, append = TRUE)
Кто-нибудь может помочь, закрывает ли он соединение, прежде чем я смогу загрузить информацию в таблицу?
1 ответ
Решение
Моя ошибка, я путаю библиотеки
В основном линии
# Connect To Database
conn <- tdConnect('Teradata')
# Execute Temp Table
tdQuery(strSQL.TempTable)
sqlSave(conn, mydata, tablename = "TEMP ",rownames = FALSE, append = TRUE)
все можно заменить этим
# Connect To Database
channel <- odbcConnect('Teradata')
# Execute Temp Table
sqlQuery(channel, paste(strSQL.TempTable))
sqlSave(channel, mydata, table = "TEMP",rownames = FALSE, append = TRUE)
Теперь мне говорят, у меня нет доступа, чтобы сделать это, но это другой вопрос для другого форума
Спасибо