我认为我的问题很简单。我怎样才能发现我的查询是从哪里运行的(脚本文件本身的位置在哪里)?
编辑 :
谢谢您的回答。我需要使用我的 TSQL 脚本文件导入 XML 文件并且我想将它们放在一起,所以无论有人尝试运行 TSQL 脚本文件,它必须知道自己的当前目录才能知道 XML 文件在哪里然后导入它. 再次感谢!
我认为我的问题很简单。我怎样才能发现我的查询是从哪里运行的(脚本文件本身的位置在哪里)?
编辑 :
谢谢您的回答。我需要使用我的 TSQL 脚本文件导入 XML 文件并且我想将它们放在一起,所以无论有人尝试运行 TSQL 脚本文件,它必须知道自己的当前目录才能知道 XML 文件在哪里然后导入它. 再次感谢!
您需要一个众所周知的位置,您可以在其中放置 XML 文件以供服务器加载。这可以是 SQL Server 计算机上的共享,也可以是 SQL Server 服务帐户有权读取的文件服务器上的共享。
然后,您需要在脚本顶部添加这样的注释:
--Make sure you've placed the accompanying XML file on \\RemoteMachine\UploadShare
--Otherwise, expect this script to produce errors
更改\\RemoteMachine\UploadShare
以匹配您选择的众所周知的位置。可选地,在注释后面加上 30-40 个空白行(或更多注释),这样运行它的任何人都可以清楚地看到他们可能需要阅读那里的内容。
然后,根据该假设编写脚本的其余部分。
我找到了一个更简单的问题的解决方案!你知道我只是将我的 XML 文件导入临时表一次。然后我为包含我导入的数据的那个临时表编写一个选择查询,如下所示:
“从 MyImportedTable 中选择'插入 MyTable 值('+ Col1 + '、'+ Col2 + ')'”
现在,我为每条导入的记录设置了许多插入命令。我将所有插入命令保存在我的脚本中。因此,无论走到哪里,我都只需要我的脚本文件。