这里是我的代码:sqlSave和sqlDrop R中
library('RODBC')
db.handle <- odbcDriverConnect('driver={SQL Server Native Client 11.0};server=server_name;database = db_name;trusted_connection=yes')
sql_table <- 'db_name.table_name'
sqlDrop(db.handle, sql_table, errors = TRUE)
sqlSave(db.handle,df_small,tablename = sql_table,safer=FALSE,append=TRUE,
rownames = FALSE)
close(db.handle)
当我执行行:
sqlDrop(db.handle, sql_table, errors = TRUE)
我收到错误消息:
Error in odbcTableExists(channel, sqtable, abort = errors) :
‘db_name.table_name’: table not found on channel
当我执行行:
sqlSave(db.handle,df_small,tablename = sql_table,safer=FALSE,append=TRUE,
rownames = FALSE)
我收到以下错误信息:
Error in sqlSave(db.handle, df_small, tablename = sql_table, safer = FALSE, : 42S01 2714 [Microsoft][SQL Server Native Client 11.0][SQL Server] There is already an object named 'table_name' in the database.
[RODBC] ERROR: Could not SQLExecDirect 'CREATE TABLE db_name.table_name ("State_rename" varchar(255), "CoverageType" varchar(255))'
我连续执行代码和无法理解这两个错误消息怎么可能是真的。
谢谢你的建议。现在'sqlDrop'生成错误'odbcTableExists(channel,sqtable,abort = errors)中的错误: 'table_name':表未在通道中找到,sqlSave生成错误'sqlSave中出现错误(db.handle,df_small,tablename = sql_table,更安全= FALSE,: 42000 262 [Microsoft] [SQL Server Native Client 11.0] [SQL Server] CREATE TABLE权限在数据库'master'中被拒绝 [RODBC] ERROR:Could not SQLExecDirect'CREATE TABLE table_name(“State_rename”varchar (255),“CoverageType”varchar(255))'' – user1700890
嗯......真正的* table *名称是什么?它可能是[保留字](https://msdn.microsoft.com/en- us/library/ms189822.aspx)。您可以在Management Studio或其他控制台中确认数据库表吗?您可能会遇到DB权限问题。 – Parfait