【发布时间】:2014-05-28 23:16:08
【问题描述】:
我们的SQL Server 项目中有一个部署后脚本,它实际上执行bulk-insert 以在创建表后填充表。这是通过读取几个.csv 文件来完成的:
BULK INSERT
[dbo].[Table1]
FROM '.\SubFolder\TestData\Data1.csv'
WITH
(
ROWTERMINATOR = '0x0a',
FIELDTERMINATOR = ','
)
BULK INSERT
[dbo].[Table2]
FROM '.\SubFolder\TestData\Data2.csv'
WITH
(
ROWTERMINATOR = '0x0a',
FIELDTERMINATOR = ','
)
问题是 Visual Studio 很难找到文件:
Cannot bulk load because the file ".\SubFolder\TestData\Data1.csv" could not be opened.
Operating system error code 3(The system cannot find the path specified.).
.csv 文件已签入源代码管理,当我转到它们在我的机器上映射到的文件夹时,我确实看到了它们。我假设问题是. 没有返回正在执行的 sql 文件的当前路径。有没有办法获取相对路径?是否有一个宏(或者可能是 SQLCMD Variable)可以提供文件的当前路径?
【问题讨论】:
标签: sql-server visual-studio-2012 project sql-scripts