[R ODBC SQL查询与文件路径名称(例如,对于INSERT INTO ...在...)
基于R 2.13.0与窗口XP 32B,[R ODBC SQL查询与文件路径名称(例如,对于INSERT INTO ...在...)
我用正确定义的查询,我会struglling喜欢在R中构建并从RODBC包发送到sqlQuery。
我在添加文件路径到查询时遇到问题。
以下是关于如何处理字符串中反斜杠的建议,以下是我可以编写但是会导致错误的查询。
以下是在Access运行良好:
SELECT Tamis_Lavage.* FROM Tamis_Lavage
IN "d:\Mes Documents\Pascal\03 - BiomFix\99 - Suivi Etude\01 - Donnees\Données STH\Test_Import\Copie de 20110623Acquisition.mdb"
在访问工作的罚款。
其翻译:
> MyQuery <- paste(" + SELECT Tamis_Lavage.*
+ FROM Tamis_Lavage
+ IN \"d:\\Mes Documents\\Pascal\\03 - BiomFix\\99 - Suivi Etude\\01 - Donnees\\Données STH\\Test_Import\\Copie de 20110623Acquisition.mdb\" "
+ , sep="")
>
> tmp <- sqlQuery(con, query=MyQuery)
> tmp
[1] "42000 -1002 [Microsoft][Pilote ODBC Microsoft Access] Le moteur de base de données ne peut pas trouver '[d:\\Mes Documents\\Pascal\\03 - BiomFix\\99 - Suivi Etude\\01 - Donnees\\Données STH\\Test_Import\\Copie de 20110623Acquisition.mdb]'. Assurez-vous que le nom de paramètre ou d'alias est valide, qu'il ne comprend pas de caractère ou de ponctuation incorrect et qu'il n'est pas trop long."
[2] "[RODBC] ERROR: Could not SQLExecDirect ' SELECT Tamis_Lavage.* \n FROM Tamis_Lavage\n IN \"d:\\Mes Documents\\Pascal\\03 - BiomFix\\99 - Suivi Etude\\01 - Donnees\\Données STH\\Test_Import\\Copie de 20110623Acquisition.mdb\" '"
> MyQuery
[1] " \n SELECT Tamis_Lavage.* \n FROM Tamis_Lavage\n IN \"d:\\Mes Documents\\Pascal\\03 - BiomFix\\99 - Suivi Etude\\01 - Donnees\\Données STH\\Test_Import\\Copie de 20110623Acquisition.mdb\" "
会导致错误。
你能帮助翻译过程吗?
问候 帕斯卡尔
回答:
您更改为MyQuery可能是因为您引入的新行\n
的是有问题的。
尝试以下操作:
MyQuery <- paste( "SELECT Tamis_Lavage.*",
"FROM Tamis_Lavage",
"IN 'd:\\Mes Documents\\Pascal\\03 - BiomFix\\99 - Suivi Etude\\01 - Donnees\\Données STH\\Test_Import\\Copie de 20110623Acquisition.mdb'")
有什么不同?
paste
的参数都不包含\n
。- 在使用字符串嵌入引号时,我发现使用单引号
'
更容易。 (这也有好处,你不必逃避报价。)
以上是 [R ODBC SQL查询与文件路径名称(例如,对于INSERT INTO ...在...) 的全部内容, 来源链接: utcz.com/qa/263406.html