r - R Teradata 易失性表与 ROBDC
问题描述
我一直在试图弄清楚如何将数据帧写入 teradata 服务器上的易失性表。我试图遵循这个例子,但运气不佳。
这是我的尝试:
pass = getPass(msg = "Network Password:")
edv = odbcConnect(dsn = "", uid = "", pwd = pass)
rm(pass)
# So I believe we'll first have to create a table:
quer1 = paste("CREATE VOLATILE TABLE testdat",
"(op_sys INT, enter_final_icu VARCHAR(20), mrn VARCHAR(8))",
"UNIQUE PRIMARY INDEX(op_sys)",
"ON COMMIT PRESERVE ROWS;")
sqlQuery(edv, quer1)
# This returns a zero row table, so far so good:
quer2 = "select top 10 * from testdat"
sqlQuery(edv, quer2)
# See if we can save the data:
columnTypes <- list(op_sys = "INT",
enter_final_icu = "VARCHAR(20)",
mrn = "VARCHAR(8)")
# pop is a data.frame with 3 the same 3 columns as in the definition of testdat
sqlSave(channel = edv,
dat = pop,
tablename = 'testdat',
append = TRUE,
rownames = FALSE,
varTypes = columnTypes)
sqlUpdate(channel = edv,
dat = pop,
tablename = 'testdat')
该sqlSave
声明告诉我“表 testdat 已经存在”,这是我认为我想做的。我以为update = TRUE
可以让我将数据添加到表中...
该sqlUpdate
语句告诉我“testdat:找不到表”,考虑到我能够查询它,这很奇怪。
任何建议将不胜感激,谢谢!
解决方案
推荐阅读
- c# - str.Split(".") 不在 C# 交互式窗口中工作,但在 C# .Net 核心项目中工作?
- javascript - 将变量作为标题传递给css
- python - django.db.utils.IntegrityError: UNIQUE 约束在序列化程序上调用我的 .save() 函数时失败
- react-native - 无法在 react-redux 中存储 DocumentSnapshot 导致分页时超出最大调用堆栈大小错误
- html - 如何在 Rmarkdown 中保存 html 输出
- c# - 子元素切换到折叠或隐藏后网格没有变化
- javascript - 不允许在渐进式 Web 应用程序中进行屏幕打印 - angular / reactjs
- python - 使用 Pandas Agg 功能计算分位数
- ruby-on-rails - 如何在 Rails 的一个产品(属性)中创建一组用户(室友)
- ios - UIPanGesture 或 TouchesMoved 移动精灵。最好的方法是什么?