gpt4 book ai didi

sql - xp_cmdshell 仅适用于绝对文件路径?

转载 作者:行者123 更新时间:2023-12-02 22:01:57 28 4
gpt4 key购买 nike

我有一个sql代码如下:

SET @FILEE = '..\mydb.sql';
DECLARE @cmd NVARCHAR(1000);
SET @cmd = 'SQLCMD -S (local)\MYSQL -i' + @FILEE
exec xp_cmdshell @cmd;

这总是给出错误:SqlCmd:'..\mydb.sql': invalid filename.

如果我输入类似:C:\mydb.sql 的内容,它会起作用....但不适用于像上面这样的引用文件名..其中文件路径是引用当前文件的位置。

关于如何解决这个问题的任何指示?

如果不是,有没有办法引用 vob 位置?

最佳答案

SQLCMD 将在正确指定时使用相对文件路径 - 您遇到的问题是 xp_cmdshell 启动的工作目录不是您所在的目录期待。

您可以通过运行以下命令来查看起始目录:

xp_cmdshell 'cd'

默认情况下,我认为这通常是操作系统 \system32 目录(通常是 C:\Windows\system32,但显然这可能会因Windows 安装)

您的解决方法是指定一个绝对路径(正如您已经发现的那样)或使用 CD 命令切换到您要使用的相对路径正确的不同工作目录。

关于sql - xp_cmdshell 仅适用于绝对文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16805916/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com