Sql server 当路径包含空格时,SQL Server 2019找不到文件夹,添加引号无法解决此问题

Sql server 当路径包含空格时,SQL Server 2019找不到文件夹,添加引号无法解决此问题,sql-server,ssis-2012,Sql Server,Ssis 2012,我已将一个包部署到SQL Server,其平面文件目标包含一个空间,例如:\\Server\chiesy Beans On Toast\ 包使用连接中的表达式将文件名添加到字符串的末尾,因此最终路径为:\\SERVER\Cheesy Beans On Toast\TheFile.txt 我可以直接从Visual Studio运行此软件包,没有问题,但一旦部署为SQL Server 2019,并使用服务代理从作业运行它,我会在创建输出文件的阶段上收到以下错误消息: 无法打开数据文件“\\SERVE

我已将一个包部署到SQL Server,其平面文件目标包含一个空间,例如:\\Server\chiesy Beans On Toast\

包使用连接中的表达式将文件名添加到字符串的末尾,因此最终路径为:\\SERVER\Cheesy Beans On Toast\TheFile.txt

我可以直接从Visual Studio运行此软件包,没有问题,但一旦部署为SQL Server 2019,并使用服务代理从作业运行它,我会在创建输出文件的阶段上收到以下错误消息:

无法打开数据文件“\\SERVER\Cheesy Beans On Toast\TheFile.txt”

当我将文件夹重命名为CheesyBeansOnToast(无空格)并相应地更新环境变量时,同样的工作运行得非常好

不幸的是,这个项目的最终目的地将是在一个文件夹中包含空格的服务器上,我没有权力修改这个

我已尝试在连接字符串周围添加单引号和双引号,但无论是在连接字符串表达式中还是在输入到连接字符串表达式的变量中执行此操作,我都会遇到不同的错误:

连接中指定的文件名“\\SERVER\Cheesy Beans On Toast\TheFile.txt”无效

因此,它正在收集我的额外报价,但它没有帮助处理空格,反而根本无法识别路径是否有效


关于如何让部署在SQL Server上的包以与直接从Visual Studio运行它相同的方式接受空格,或者如何让SQL Server理解在其周围添加引号时包含空格的路径,您有什么想法吗?我很想重新命名目标文件夹,但如前所述,这超出了我的控制。

最终解决!SQL代理似乎不仅需要NTFS访问,还需要共享访问。重命名文件夹时,共享访问必须已放弃

我无法查看有关共享访问的任何内容,因为我不是管理员,只能查看NTFS权限,因此我不知道有任何更改


管理员打开共享访问权限后,它就开始工作了。

第二个字符串的开头似乎有一个引号太多。SQL Server代理用于执行包的用户帐户无权访问该文件夹。检查实际的错误消息,而不是此存根。伊恩·肯普(Ian Kemp)抱歉,我无法在堆栈溢出打开的情况下从Citrix连接粘贴到浏览器,事实上,第二条错误消息的开头只有两个双引号,而不是三个。您好,罗杰,我在测试时重命名了文件夹以添加和删除空格,并检查SQL代理始终具有访问权限。它在没有空格的版本中运行,而有空格的版本具有相同的权限,因此我不确定这是否是问题所在。