我正在尝试使用sqlFetch。当我将表的名称更改为带有下划线而不是句点时,访存效果完美。所以如果我使用命令
sqlFetch(conn, "HelloWorld_40")
它工作正常。不幸的是,我的 friend 们都使用表的真实姓名
sqlFetch(conn, "HelloWorld.40")
但是后来崩溃了,它告诉我
Error in sqlColumns(conn, "HelloWorld.40") :
'HelloWorld.40': table not found on channel
我正在猜测句号“。”是表的非法名称。但是我不希望我的 friend 更改它,因为会有很多人受到影响。有什么方法可以调用表,还是我必须 secret 进入他们的数据库,在使用它时更改名称,然后再将其更改回一个句点(可能会忘记,有人会读,等等)。 。
谢谢。
最佳答案
解析表名称的sqlFetch
是一个问题。不幸的是,它不处理表引号,因此在模式40
中搜索表HelloWorld
。您需要直接调用sqlQuery
(带引号的表名,MS SQL Server的括号):
sqlQuery(dbhandle, "SELECT * FROM [HelloWorld.40]")
旁注:您应指定要使用的数据库。
关于sql - 名称为 “.”的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956858/