Подключение 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)

Теперь мне говорят, у меня нет доступа, чтобы сделать это, но это другой вопрос для другого форума

Спасибо

Другие вопросы по тегам