【发布时间】:2011-03-06 09:52:35
【问题描述】:
我目前的任务是将一些存储在平面文件中的数据读入我的数据库并针对它运行报告。我遇到的一个问题是检查文件是否确实存在。有没有简单的函数来检查文件是否存在?
谢谢!
【问题讨论】:
标签: sql stored-procedures file-exists
我目前的任务是将一些存储在平面文件中的数据读入我的数据库并针对它运行报告。我遇到的一个问题是检查文件是否确实存在。有没有简单的函数来检查文件是否存在?
谢谢!
【问题讨论】:
标签: sql stored-procedures file-exists
您在存储过程中进行 ETL?!!我不认为你应该这样做,只是因为你可以。
我建议您为此使用 SSIS。在 Stored Proc 或 TSQL 中做 ETL 不是推荐的做法,事实上,它经常被用作不做的例子。
【讨论】:
我相信你可以这样做:
DECLARE @Path varchar(128) ,
@FileName varchar(128)
SET @Path = 'C:\'
SET @FileName = 'FILE_NAME.EXT'
DECLARE @objFSys int
DECLARE @i int
DECLARE @File varchar(1000)
SET @File = @Path + @FileName
EXEC sp_OACreate 'Scripting.FileSystemObject', @objFSys out
EXEC sp_OAMethod @objFSys, 'FileExists', @i out, @File
IF @i = 1
PRINT 'file exists'
ELSE
PRINT 'file does not exists'
EXEC sp_OADestroy @objFSys
This article 介绍了这个方法和其他几个方法。
【讨论】: