[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

回到顶部