怎么用存储过程得到e:\aaa\下面所有后缀名为.log的文件名称?

djwwjdjdw 2010-01-13 10:45:14
怎么用存储过程得到e:\aaa\下面所有后缀名为.log的文件名称?
...全文
128 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yananguo_1985 2010-01-13
  • 打赏
  • 举报
回复
帮顶了
chuifengde 2010-01-13
  • 打赏
  • 举报
回复
本地开了xp_cmdshell,服务器没有开启xp_cmdshell
djwwjdjdw 2010-01-13
  • 打赏
  • 举报
回复
--开启xp_cmdshell
--SQL Server blocked access to procedure 'xp_cmdshell'
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'xp_cmdshell', 1
go
reconfigure
go


EXEC MASTER..xp_cmdshell ' dir e:\aaa\*.LOG'
-----------------------------------------------------------

我在客户机上通过查询分析器登录到数据库服务器执行以上语句:

但是还是提示:

ODBC: 消息 0,级别 16,状态 1
无法装载 DLL xp_cmdshell.dll 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。


奇怪的是我在本地的客户机上执行就没有问题,存储过程返回了结果集


这是什么原因呢?

djwwjdjdw 2010-01-13
  • 打赏
  • 举报
回复
09
--小F-- 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 djwwjdjdw 的回复:]
EXEC MASTER..xp_cmdshell ' dir e:\aaa\*.LOG'

-------------------------------------------------------------------------

ODBC: 消息 0,级别 16,状态 1
无法装载 DLL xp_cmdshell.dll 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。


这是什么意思?
[/Quote]

--开启xp_cmdshell
--SQL Server blocked access to procedure 'xp_cmdshell'
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'xp_cmdshell', 1
go
reconfigure
go
SQL77 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 djwwjdjdw 的回复:]
EXEC MASTER..xp_cmdshell ' dir e:\aaa\*.LOG'

-------------------------------------------------------------------------

ODBC: 消息 0,级别 16,状态 1
无法装载 DLL xp_cmdshell.dll 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。


这是什么意思?
[/Quote]
你0几的?
djwwjdjdw 2010-01-13
  • 打赏
  • 举报
回复

EXEC MASTER..xp_cmdshell ' dir e:\aaa\*.LOG'

-------------------------------------------------------------------------

ODBC: 消息 0,级别 16,状态 1
无法装载 DLL xp_cmdshell.dll 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。


这是什么意思?
--小F-- 2010-01-13
  • 打赏
  • 举报
回复
建议在程序中前台调用路径 进行模糊查询
SQL77 2010-01-13
  • 打赏
  • 举报
回复
EXEC MASTER..xp_cmdshell ' dir e:\aaa\*.LOG'


以文本文件显示结果,这样应该可以
SQL77 2010-01-13
  • 打赏
  • 举报
回复
xp_cmdshell
这个应该可以
nianran520 2010-01-13
  • 打赏
  • 举报
回复
这个程序中做吧
dawugui 2010-01-13
  • 打赏
  • 举报
回复
这个是导入的.你稍微改改即可.

--将某个目录上的Excel表,导入到数据库中

--将所有的Excel文件放到一个目录中,假设为c:\test\,然后用下面的方法来做

create table #t(fname varchar(260),depth int,isf bit)
insert into #t exec master..xp_dirtree 'c:\test',1,1
declare tb cursor for select fn='c:\test'+fname from #t
where isf=1 and fname like '%.xls' --取.xls文件(EXCEL)
declare @fn varchar(8000)
open tb
fetch next from tb into @fn
while @@fetch_status=0
begin
--下面是查询语句,需要根据你的情况改为插入语句
--插入已有的表用:insert into 表 selct * from ...
--创建表用:select * into 表 from ...
set @fn='select * from
OPENROWSET(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=YES;DATABASE='+@fn+''',全部客户$)'
exec(@fn)
fetch next from tb into @fn
end
close tb
deallocate tb
drop table #t
SQL77 2010-01-13
  • 打赏
  • 举报
回复
在程序中比较好吧,得文件下的文件名?

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧