如何获取t sql中的相对路径?例如,一个.sql文件位于文件夹D:\ temp中,我想在文件夹D:\ temp\App_Data中获取文件hello.txt的路径.如何使用相对路径引用?
假设我正在SQL服务器管理工作室内执行sql文件.
我有一个类似的问题,并使用sqlcmd变量和%CD%伪变量解决了它.进行了一些试验和错误,以结合所有的部分.但最终还是把它全部搞定了.此示例期望该script.sql
文件与该文件位于同一目录中runscript.bat
.
runscript.bat
sqlcmd -S .\SQLINSTANCE -v FullScriptDir="%CD%" -i script.sql -b
script.sql
BULK INSERT [dbo].[ValuesFromCSV] FROM '$(FullScriptDir)\values.csv' with ( fieldterminator = ',', rowterminator = '\n' ) go
.sql文件只是....一个文件.它没有任何自己的位置感.它可以解决它(你没有指定),它可以了解它的位置,文件的位置.
我注意到你提到了一个App_Data文件夹,所以我猜想涉及ASP.NET.如果要在Web应用程序中使用相对路径,请参阅MapPath
http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx