首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SQL Server 中执行Shell脚本计算本地文件的内容大小

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

作者头像
张传宁IT讲堂
发布2019-09-17 17:34:17
发布2019-09-17 17:34:17
3.2K0
举报

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

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

代码语言:javascript
复制
-- 允许配置高级选项(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查询分析器中执行以下脚本:

代码语言:javascript
复制
--判断临时表是否已经存在
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字节。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-05-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档