日期:2014-05-17  浏览次数:20475 次

SQL Server 邮件发送功能
请教:
服务器在使用SQL Server 邮件发送时,报如下错误;
相同的方法在本地发送邮件没有问题;

/*
Date 2013/9/16 19:44:49
Log Database Mail (Database Mail Log)

Log ID 77
Process ID 3608
Last Modified 2013/9/16 19:44:49
Last Modified By NT AUTHORITY\SYSTEM

Message
1) Exception Information
===================
Exception Type: System.NullReferenceException
Message: 未将对象引用设置到对象的实例。
Data: System.Collections.ListDictionaryInternal
TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.Account GetAccount(Int32)
HelpLink: NULL
Source: DatabaseMailEngine

StackTrace Information
===================
   在 Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.GetAccount(Int32 accountID)
   在 Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.SessionManager.GetAccount(Int32 accountID)
   在 Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandFactory.CreateSendMailCommand(DBSession dbSession)
   在 Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandRunner.Run(DBSession db)
   在 Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.MailOperation(Object o)

*/

------解决方案--------------------
是否用设置默认用户试试?
------解决方案--------------------
http://blog.csdn.net/zhaowenzhong/article/details/7043222
------解决方案--------------------
未将对象引用设置到对象的实例 通常意味着空集,你检查一下配置文件,测一下是否有没有配置好的
------解决方案--------------------
1、关闭服务器上的防火墙
2、使用sa用户登录进行相应的邮件发送设置
3、可以看看这篇文章http://blog.csdn.net/ghj1976/article/details/3936286
------解决方案--------------------
Message: 未将对象引用设置到对象的实例。 
HelpLink: NULL

你应该从这两个错误信息去考虑问题,可能是对象没有初始化就使用,检查一下是哪个对象,把对象初始化放在构造函数里。
------解决方案--------------------
引用:
Message: 未将对象引用设置到对象的实例。 
HelpLink: NULL

你应该从这两个错误信息去考虑问题,可能是对象没有初始化就使用,检查一下是哪个对象,把对象初始化放在构造函数里。
那个是sqlserver自带功能,你改不了构造函数
------解决方案--------------------
手动调用会报错吗,测试邮件会报错吗,一步一步调试看看是哪里配错了,这个错误本身无法查出问题。
------解决方案--------------------
单从未将对象引用设置到对象的实例的错误提示上,无法准确定位问题的根源。