我通过RODBC
提交了一个简单的(我认为)查询:
ch <- odbcConnect(dsn.name, believeNRows=FALSE, rows_at_time=1)
sqlQuery(ch, "CURRENT_TIMESTAMP()")
它引发了以下错误:
[1] "42000? -1 Malformed SQL Statement: Unrecognized keyword: CURRENT_TIMESTAMP\r\nStatement:CURRENT_TIMESTAMP()"
[2] "[RODBC] ERROR: Could not SQLExecDirect 'CURRENT_TIMESTAMP()'"
我认为CURRENT_TIMESTAMP()
是一个常见的SQL命令,并且没想到它会运行。我检查过ODBC连接(RSSBus DynamicsCRM Source x64)是否支持CURRENT_TIMESTAMP()
。我的连接没问题,我能够执行其他一些SQL查询。
上面的语法有问题吗?或者是否有RODBC
无法识别的关键字列表?
答案 0 :(得分:0)
在上面的代码中,第一行即
public class Site {
private String name;
private ThreadGroup tGroup;
public Site(String name) {
this.name = name;
tGroup = new ThreadGroup(name);
}
public void addThread(Runnable r) {
new Thread(tGroup, r);
}
public void stopThreads() {
tGroup.interrupt();
}
}
Graph<Site, DefaultEdge> graph = new WeightedGraph<Site, DefaultEdge>();
Site shop1 = new Site("Shop1");
Site man1 = new Site("Manufacturer1");
graph.addVertex(shop1);
graph.addVertex(man1);
graph.addEdge(shop1, man1).setEdgeWeight(5.0);
shop1.addThread(new Runnable() { //thread code here });
// ...
创建与ODBC数据源名称(dsn.name)的连接。所以这里ch <- odbcConnect(dsn.name, believeNRows=FALSE, rows_at_time=1)
基本上存储了连接实例。第二行:
ch
在连接上执行SQL查询,即sqlQuery(ch, "CURRENT_TIMESTAMP()")
,并将结果返回到数据框中。因此,不要使用方法ch
而是使用完整查询:
CURRENT_TIMESTAMP()
我希望这会有所帮助。