我已经尝试过readLines
和read.csv
功能,但随后不起作用。
以下是该内容的内容my_script.sql
file:
SELECT EmployeeID, FirstName, LastName, HireDate, City FROM Employees
WHERE HireDate >= '1-july-1993'
它保存在我的桌面上。
现在我想从 R 脚本运行此查询。这是我所拥有的:
conn = connectDb()
fileName <- "C:\\Users\\me\\Desktop\\my_script.sql"
query <- readChar(fileName, file.info(fileName)$size)
query <- gsub("\r", " ", query)
query <- gsub("\n", " ", query)
query <- gsub("", " ", query)
recordSet <- dbSendQuery(conn, query)
rate <- fetch(recordSet, n = -1)
print(rate)
disconnectDb(conn)
在这种情况下我没有得到任何回报。我可以尝试什么?
我自己在阅读 sql 文件时遇到了麻烦,并且发现如果 sql 中存在任何单行注释,语法常常会被破坏。由于在 R 中,您将 sql 语句存储为单行字符串,因此如果 sql 中有任何双破折号,它实际上会注释掉双破折号之后的所有代码。
这是我在读取要在 R 中使用的 .sql 文件时通常使用的函数。
getSQL <- function(filepath){
con = file(filepath, "r")
sql.string <- ""
while (TRUE){
line <- readLines(con, n = 1)
if ( length(line) == 0 ){
break
}
line <- gsub("\\t", " ", line)
if(grepl("--",line) == TRUE){
line <- paste(sub("--","/*",line),"*/")
}
sql.string <- paste(sql.string, line)
}
close(con)
return(sql.string)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)