当我的某表中的数据添加时然后向操作员发送net send消息!这样能实现吗?

iris_zhu 2003-08-22 12:50:23
应该怎么考虑呢?
...全文
59 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
TaoGeGe 2003-08-25
  • 打赏
  • 举报
回复
先把操作員所用的機子名稱抓出來
然後組合成一個SQL指令傳給SQL服務器執行就可以了
exec master..xp_cmdshell 'net send 機子名 信息......'
iris_zhu 2003-08-25
  • 打赏
  • 举报
回复
看到nboys() ( ) 大哥讲了很多的发送邮件的方法!可是我不知道怎么配置sql 邮件!无法发送!能告诉我怎么配置吗?搜过以前的一些帖子,可是还是不是很懂,还有我如果要使用sql 邮件的话,是不是一定要用2000 server的操作系统?然后我的sql server要安装什么版的呢?好像我机子上的sql server无法用sql 邮件啊!希望大家继续关注,我会再给分的!我不失约的!只是上面说到马上给分的话,好像拖了很久了!不好意思!:)
iris_zhu 2003-08-25
  • 打赏
  • 举报
回复
谢谢各位大哥!
to eminena(明珠上的皇冠) ( ) 我怎么了?这个功能可以实现呀!
yangvxin1 2003-08-25
  • 打赏
  • 举报
回复
To:eminena(明珠上的皇冠):奇怪,一角就不能问了?人家一角只是代表上论坛的
时间短,技术说不定比你厉害呢。
iris_zhu 2003-08-25
  • 打赏
  • 举报
回复
重新开贴问问题
txlicenhe 2003-08-23
  • 打赏
  • 举报
回复
用变量发送信息: 如下,目的地和信息都是变量
可以在触发器中加上如下语句,则只发送改变数据的用户。
declare @a varchar(100),@sql varchar(300),@msg varchar(100)
set @a = host_name()
set @sql = '''net send ' + @a + '' + @msg + ''
exec('master.dbo.xp_cmdshell ' + @sql )
eminena 2003-08-23
  • 打赏
  • 举报
回复
只有一个角的 iris_zhu (个个) ,你干吗?
popmailzjw 2003-08-23
  • 打赏
  • 举报
回复
up
nboys 2003-08-22
  • 打赏
  • 举报
回复
示例
A. 使用不带变量的 xp_sendmail
下例向用户 Robert King(电子邮件地址是 robertk)发送邮件,告知该用户 master 数据库已满。

EXEC xp_sendmail 'robertk', 'The master database is full.'

B. 使用带变量的 xp_sendmail
下例向用户 Robert King 和 Laura Callahan(电子邮件地址是 laurac)发送邮件,并将复本发送给 Anne Dodsworth(电子邮件地址是 anned)和 Michael Suyama(电子邮件地址是 michaels)。下例还指定了邮件的主题行。

EXEC xp_sendmail @recipients = 'robertk;laurac',
@message = 'The master database is full.',
@copy_recipients = 'anned;michaels',
@subject = 'Master Database Status'

C. 发送结果
下例将 sp_configure 的结果发送给 Robert King。

EXEC xp_sendmail 'robertk', @query = 'sp_configure'

D. 将结果作为附件文件发送
下例将查询 SELECT * FROM INFORMATION_SCHEMA.TABLES 的结果作为文本文件附件发送给 Robert King。下例包含邮件的主题行以及将在附件之前出现的邮件正文。@width 参数用于防止在输出行中换行。

EXEC xp_sendmail @recipients = 'robertk',
@query = 'SELECT * FROM INFORMATION_SCHEMA.TABLES',
@subject = 'SQL Server Report',
@message = 'The contents of INFORMATION_SCHEMA.TABLES:',
@attach_results = 'TRUE', @width = 250

E. 发送大于 7,990 个字符的邮件
下例显示如何发送大于 7,990 个字符的邮件。由于 message 受 varchar 长度的限制(这样每行开销较小,像所有存储过程参数一样),下例将长消息写入由单个文本列组成的全局临时表中。然后使用 @query 参数通过邮件发送该临时表的内容。

CREATE TABLE ##texttab (c1 text)
INSERT ##texttab values ('Put your long message here.')
DECLARE @cmd varchar(56)
SET @cmd = 'SELECT c1 FROM ##texttab'
EXEC master.dbo.xp_sendmail 'robertk',
@query = @cmd, @no_header= 'TRUE'
DROP TABLE ##texttab

nboys 2003-08-22
  • 打赏
  • 举报
回复
xp_sendmail
向指定的收件人发送邮件和查询结果集附件。

语法
xp_sendmail {[@recipients =] 'recipients [;...n]'}
[,[@message =] 'message']
[,[@query =] 'query']
[,[@attachments =] 'attachments [;...n]']
[,[@copy_recipients =] 'copy_recipients [;...n]'
[,[@blind_copy_recipients =] 'blind_copy_recipients [;...n]'
[,[@subject =] 'subject']
[,[@type =] 'type']
[,[@attach_results =] 'attach_value']
[,[@no_output =] 'output_value']
[,[@no_header =] 'header_value']
[,[@width =] width]
[ , [ @separator = ] 'separator' ]
[,[@echo_error =] 'echo_value']
[ , [ @set_user = ] 'user' ]
[,[@dbuse =] 'database']

参数
[@recipients =] 'recipients [;...n]'

是以分号分隔的邮件收件人列表。

n

是表示可以指定多个 recipient、copy_recipient 或 blind_copy_recipient 的占位符。

[@message =] 'message'

是要发送的邮件。message 最大可达 8.000 个字节。

[@query =] 'query'

是有效的 Microsoft® SQL Server™ 查询,其结果将通过邮件送出。xp_sendmail 对 query 参数使用绑定连接。SQL 邮件建立的 query 连接不会被发出 xp_sendmail 请求的客户端所控制的锁阻塞。这使 xp_sendmail 更易于在触发器中使用。但是,query 语句不能引用仅在触发器中可用的逻辑 inserted 表和 deleted 表。query 最大可达 8,000 个字节。

[@attachments =] 'attachments [;...n]'

是以分号分隔的附加到邮件上的文件列表。

[@copy_recipients =] 'copy_recipients [;...n]'

是以分号分隔的列表,标识邮件复本收件人(抄送人)。

[@blind_copy_recipients =] 'blind_copy_recipients [;...n]'

是可选的以分号分隔的列表,标识邮件密件复本收件人(密件抄送人)。

[@subject =] 'subject'

是指定邮件主题的可选参数。如果未指定 subject,则默认值为"SQL Server 消息"。

[@type =] 'type'

是基于以下 MAPI 邮件定义的输入邮件类型:

IP[M | C].Vendorname.subclass

如果 type 为 NULL,则以 IPM 打头的邮件类型出现在邮件客户端的收件箱中,并由 xp_findnextmsg 查找或阅读。以 IPC 打头的邮件类型不出现在邮件客户程序的收件箱中,并且必须设置 type 参数才能查找或阅读。默认设置为 NULL。

有关使用自定义邮件类型的更多信息,请参见独立提供的《Microsoft Windows NT Resource Kit》或《Microsoft Mail Technical Reference》。

[@attach_results =] 'attach_value'

是可选参数,指定查询结果集应作为邮件中的附件文件发送,而不是追加到邮件中发送。如果 attachments 不为 NULL,并且 attach_results 为 true,则 attachments 中的第一个文件名将作为结果集的文件名。如果 attachments 为 NULL,则生成带 .txt 扩展名的文件名。默认值为 FALSE,这意味着结果集将追加到邮件中。

[@no_output =] 'output_value'

是可选参数,用来发送邮件但不向发送邮件的客户端会话返回任何输出。默认值为 FALSE,这意味着 SQL Server 客户端会话将接收输出。

[@no_header =] 'header_value'

是可选参数,表示通过邮件发送查询结果,但不随查询结果发送列标题信息。默认值为 FALSE,即列标题信息随查询结果一起发送。

[@width =] width

是可选参数,设置查询的输出文本行宽。此参数与 isql 实用工具中的 /w 参数相同。对于产生长输出行的查询,应结合使用 attach_results 与 width 以发送行中无换行符的输出。默认宽度为 80 个字符。

[@separator =] 'separator'

是结果集中每列的列分隔符字符串。默认情况,列分隔符为空格。使用列分隔符可以使访问电子表格和其它应用程序中的结果集更容易。例如,结合使用 attach_results 与 separator 以发送用逗号分隔值的文件。

[@echo_error =] 'echo_value'

值为 true 时,SQL 邮件将捕获运行查询时遇到的任何服务器消息或 DB-Library 错误,并将其追加到邮件中而不是写入错误日志。同时也将返回行/受影响行的计数追加到邮件中。



说明 echo_error 为 true 时,即使出现 DB-Library 错误或消息,或查询没有返回结果,只要邮件成功发送,xp_sendmail 就返回状态 0(成功)。


[@set_user =] 'user'

是应在其中运行查询的安全上下文。如果没有指定 user,安全上下文默认为执行 xp_sendmail 的用户的安全上下文。

[@dbuse =] 'database'

是应在其中运行查询的数据库上下文。默认值为 NULL,这意味着将用户置于默认数据库中。

返回代码值
0(成功)或 1(失败)

结果集
xp_sendmail 返回下列消息:

Mail sent.

yone 2003-08-22
  • 打赏
  • 举报
回复
可以實現 ,在後面加
exec master.. xp_cmdshell 'net send hostname 信息'
handsomeduke 2003-08-22
  • 打赏
  • 举报
回复
建立一个作业,当作业运行后向管理员net send 或者E-mail(作业选项里有)
CrazyFor 2003-08-22
  • 打赏
  • 举报
回复
可以,用触发器.

触发器如下发消息.
exec master..xp_cmdshell 'net send ......'
txlicenhe 2003-08-22
  • 打赏
  • 举报
回复
可以在触发器中加上如下语句,则只发送改变数据的用户。
declare @a varchar(100),@sql varchar(300)
set @a = host_name()
set @sql = '''net send ' + @a + '' + @Username + ''
exec('master.dbo.xp_cmdshell ' + @sql )
iris_zhu 2003-08-22
  • 打赏
  • 举报
回复
EXEC master..xp_cmdshell 'net send '+@m_ip+' '+@m_descr
如果我要用变量发送net send 应该怎么写呢?谢谢
iris_zhu 2003-08-22
  • 打赏
  • 举报
回复
谢谢,我仔细研究,解决后立即给分
nboys 2003-08-22
  • 打赏
  • 举报
回复
create trigger t_name on tableName
for insert
as
exec master..xp_cmdshell 'net send 机子名称/ip地址 内容'
go

但要确保你登陆的用户有使用xp_cmdshell 的权限,必须时 sysadmin
hjb111 2003-08-22
  • 打赏
  • 举报
回复
create Trigger T_SendMessage
on Yourtable for insert
as
exec master.. xp_cmdshell 'net send hostname 信息'

go
适合人群:【学习前提】 1. 具备python3语言基础 【学习人群】 1. 手工测试人员学习UI自动化测试技能 2. 开发人员转岗测试开发岗位 3. 如具有丰富的自动化测经验,本课程可能并不满足你学习计划:1.下载课程中配套的软件资料 2.结合课件中Demo可完成学习任务课程目标:掌握UI自动化测试框架的设计与实现课程简介:UI自动化框架的设计需储备基础知识,方能完成自动化测试框架的实现,如数据驱动、日志、配置文件等AutoUiTestFrame自动化框架的目录结构初步进行规划,目录结构如下:Config 配置文件的目录v  config.ini 配置文件;v  globalconfig.py 获得日志路径、测试用例路径、测试报告路径、测试数据路径;v  Data 测试数据;v  TestData.xlsx 测试数据。Public 公共文件库v  Common 封装的公共的方法n  Commonconfig.py 公共的参数配置:调试过程中的测试数据等;n  DoExcel.py 操作excel(数据驱动);n  Send_mail.py 发送邮件(html);n  ReadConfigIni.py 读取ini格式的配置文件;n  TestCaseInfo.py  测试用例信息;n  Log.py 日志类。设置日志类,其他模块或文件需要日志类,调用该文件。v  Pages 使用po模式设计的测试页面n  BasePage.py  基类,对一些测试页面公共方法、属性的封装及webdrive一些方法的二次封装;n  Bing.py 测试页面。Report 测试报告v  Log 日志目录n  *****log日志。v  TestReport 测试报告目录n  ***html测试报告。TestCase 测试用例v  TC_bing.py。Run.py  控制测试用例的运行。

34,575

社区成员

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

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