MSSQL网页编程之SQL Server中发送邮件的新体例
MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQLAB创始人之一的的女儿也叫My。server|发送邮件说是新体例,实在也是早就用到的手艺了,以是放下去!
在.NET中,人人晓得,可使用System.Web.Mail来发送邮件。在Framework1.1下撑持考证。
privatevoidPage_Load(objectsender,System.EventArgse)
{
MailMessagemail=newMailMessage();
mail.To="me@mycompany.com";
mail.From="you@yourcompany.com";
mail.Subject="thisisatestemail.";
mail.Body="Sometextgoeshere";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");//basicauthentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","my_username_here");//setyourusernamehere
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","super_secret");//setyourpasswordhere
SmtpMail.SmtpServer="mail.mycompany.com";//yourrealservergoeshere
SmtpMail.Send(mail);
}
之前我曾写过在.NET下发送邮件的办法,详见:
http://dev.csdn.net/develop/article/17/17189.shtm
SQLServer中,我们一样平常利用SQL自己的邮件发送体例,但必要设置ExchageServer、Outlook等,也是一个对照烦琐的事变。良多人埋怨说设置不乐成。
实在,我们能够在SQLServer中创立OLE工具实例,挪用IISSMTP自带的发送组件来完成邮件发送。
我们创建这个存储历程,你必要修正的中央是,SmtpServer的名字
CreatePROCEDUREsys_sendmail@Fromvarchar(100),@Tovarchar(100),@Bccvarchar(500),@Subjectvarchar(400)="",@Bodyntext=""
AS
Declare@objectint
Declare@hrint
EXEC@hr=sp_OACreateCDO.Message,@objectOUT
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value,2
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value,smtp.163.com
--上面三条语句是smtp考证,假如服务器必要考证,则必需要这三句,你必要修正用户名和暗码
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value,1
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value,lihonggen0
EXEC@hr=sp_OASetProperty@object,Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value,xxx
EXEC@hr=sp_OAMethod@object,Configuration.Fields.Update,null
EXEC@hr=sp_OASetProperty@object,To,@To
EXEC@hr=sp_OASetProperty@object,Bcc,@Bcc
EXEC@hr=sp_OASetProperty@object,From,@From
EXEC@hr=sp_OASetProperty@object,Subject,@Subject
EXEC@hr=sp_OASetProperty@object,TextBody,@Body
EXEC@hr=sp_OAMethod@object,Send,NULL
--判别堕落
IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@object
RETURN@object
END
PRINTsuccess
EXEC@hr=sp_OADestroy@object
GO
注重:必需确保安装Smtp,能够会见CDO工具。
对于update操作,只需要把event中的旧行和新行值对调即可。 很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。 每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。 至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。 不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关 不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理? 如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。 备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
页:
[1]