SQL Server 中执行Shell脚本计算本地文件的内容大小

  SQL Server 数据库中除了能执行基本的SQL语句外,也可以执行Shell脚本。默认安装后,SQL中的Shell脚本的功能是关闭的,需要手动打开,

执行以下脚本即可打开该功能。

复制代码
-- 允许配置高级选项(1:允许  0:禁止)
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO

-- 启用xp_cmdshell(1:启用 0:禁用) EXEC sp_configure 'xp_cmdshell', 0 GO
--重新配置 RECONFIGURE GO
复制代码

 

在本地系统C盘根目录下常见一个测试文件,123.txt,内容为:你好,我好,大家好。

在SQL Server查询分析器中执行以下脚本:

复制代码
--判断临时表是否已经存在
IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable;--删除临时表
END

--创建临时表
CREATE TABLE #TempTable
(
    Size varchar(8000)
)

--执行shell脚本并将结果插入临时表中
INSERT INTO #TempTable exec xp_cmdshell 'for /f %i in ("C:\123.txt") do  @echo %~zi'

--查询结果
SELECT * FROM #TempTable 
复制代码

结果如下:

文件大小为20字节。

 

关于Windows Shell 脚本的技术请参考专业的技术资料。

 

posted @   张传宁  阅读(1775)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
页脚 HTML 代码
点击右上角即可分享
微信分享提示