Search code examples
sqlsql-server-2008sqlmail

Ms SQL send mail


Hi somebody can help me with this please?

 declare  @account_name varchar(128) = 'Test Mail Account'
 declare   @description varchar(128)  = 'Mail account for administrative e-mail.'
  declare   @email_address varchar(128) = '[email protected]'
  declare   @replyto_address varchar(128) = '[email protected]'
  declare   @display_name varchar(128) = 'Manoj Pandey'
   declare  @mailserver_name varchar(128) = 'smtp.xxxx.net'
 declare    @port int = 587
declare     @username nvarchar(128)= 'xyz'
declare     @password varchar(128) = 'xxyyzz'
declare     @enable_ssl int = 1



    EXECUTE [msdb].[dbo].[sysmail_add_account_sp]
            @account_name,
            @description,
            @email_address,
            @replyto_address,
            @display_name,
            @mailserver_name,
            @port,
            @username,
            @password,
            @enable_ssl

give me an error messeage:

" Msg 8114, Level 16, State 1, Procedure sysmail_add_account_sp, Line 0 Error converting data type nvarchar to int. "

I can't find out why?

The source is from the http://sqlwithmanoj.wordpress.com/2010/09/29/database-mail-setup-sql-server-2005/

Thanks


Solution

  • First thing I would recommend is to use named parameters so stored proc exactly knows which parameter goes where:

       EXECUTE [msdb].[dbo].[sysmail_add_account_sp]
            @account_name=@account_name,
            @description=@description,
            .....
    

    And also as per MSDN it looks like order you passing them is incorrect http://technet.microsoft.com/en-us/library/ms182804(v=sql.90).aspx