Xp_sendmail, ODBC Error Codes. Thanks For The Previous Help.
Jul 2, 2002
Send Mail works fine when I just want to send a message. However, when I try to send the results from a query as an attachment, I get a ODBC error. Here is example of the code and the error code that I recieve.
Use MyDatabase
go
exec master.dbo.xp_sendmail 'Doe,John',
@query = 'Select * from tblMyTable',
@subject = 'SQL Server Report',
@message = 'The contents of the tblMyTable:',
@attach_results = 'TRUE', @width = 250
go
Send Mail works fine when I just want to send a message. However, when I try to send the results from a query as an attachment, I get a ODBC error. Here is example of the code and the error code that I recieve.
Use MyDatabase go exec master.dbo.xp_sendmail 'Doe,John', @query = 'Select * from tblMyTable', @subject = 'SQL Server Report', @message = 'The contents of the tblMyTable:', @attach_results = 'TRUE', @width = 250 go
I have another question about ADO (using C++). I have searched the MSDN but I haven't found a answer to my question (maybe I'm just too stupid)... If I make a connection to my SQL Server there may occur some errors, but how to find out what went wrong ?
In terms of code I have e.g. something like that: try { connection->Open(ConnectionString,Username,Password,ADODB::adConnectUnspecified); ...} catch (_com_error& e) { long numErrors = connection->Errors->Count; for (long i=0; i<numErrors; i++) { ADODB::ErrorPtr pErr = connection->Errors->GetItem(i); ..... }}
Now I could get the error number by pErr->GetNumber(). But with which symbolic constant has this to be compared to find out which error occured ?? I didn't find any...Or is there another better way to do this ?
Using the following syntax, sometimes non-zero error codes are returned: D:SQL Server x86Servers>start /wait setup D:SQL Server x86Servers>echo %errorlevel% 3010
Searching BOL for 3010 returns nothing.
Other error codes that were seen are 1603 and 9009.
What do these error codes mean? Is there a place where they can be looked up?
I am designing a SSIS package where i get text file as input. This file contains transaction details.
I have to map the members in each transaction for data integrity. For this i am using Lookup object.
Lookup object works very well upto my expectations but i am facing problem in mapping the error code sent bythe this object whenever a record fails. I am storing all the invalid records into text file.
All the records get stored into text file along with some SQL Server error_code and error_column. I cant interpret these last two columns as it displays some numeric code and column name.
Is there any way to map these error codes and columns and get relevant information out of it? Example error code = -1071607778 error column = 0
I have a system using asp pages & ADO & SQL Server 2000, which processes files, builds a SQL insert statement from the file content and then executes it.
If the insert SQL fails, I need to know whether there was something wrong with the insert SQL, or something wrong with the database (e.g. SQL Server times out), and handle those differently,
Questions ======= 1. Is there an easy way to do this without checking against a list of error codes? 2. Can anyone point me to a list of errorcodes? Can't find this anywhere
Does anyone know where to obtain a complete list of error codes which can occur in SQL Server ? For example : errror number 547 is a foreign key violation - where can I get a complete list of these numbers and there descritions ?
I have one application through which i m installing SQL Server 2005 Express Edition.
If some failure occures, all I get is one exitCode which is a return code of SQL Express installer. Is there any way by which I can find out the exact reason of failure.
One example is error code 28062.
This error code is for "sql is unable to install on compressed folder / drive".
Dim cmdLogin As New SqlCommand("select * from UserName where ='" & txtusername.Text & "' and Password='" & txtpassword.Text & "'", conn) Dim dr As SqlDataReader dr =cmdLogin.ExecuteReader()
I've been asked to create a DTS package that will execute 2 other DTS packages (yeah, I know... personally I want to write a sp for it *shrug*) and send an e-mail out reporting a failure and failure details.
So I have a couple of questions for you; How do I pick up the error number (and description?) from a failed DTS and pass it to my sendmail task? Is it possible to send anything other than plain text e-mails? Can I change the e-mail priority to "high"?
I am running a .Net application (VB.Net, .Net Framework 2.0) on a Windows CE 5.0 handheld device. I am relatively having good success with SQL CE replication, however sometimes (2 users out of 30 every 2 weeks), are freezing up in the application.
Here is what CE SQl software versions I installed: sqlce30.dev.ENU.wce5.armv4i.CAB sqlce30.repl.wce5.armv4i.CAB sqlce30.wce5.armv4i.CAB
I have a trace log in my application, and here is what pops up before the hang (warm rebooting the handheld works)
NativeError: 28037 SQL Msg: A request to send data to the computer running IIS has failed. For more information, see HRESULT.
NativeError: 28600 SQL Msg: The database is currently synchronizing with the server.
I am using a Thread to syncronize (microsofts built in class), as you can see I am well aware of 28600, it just means some other thread is already syncing, so I can wait until next time to syncronize. However, my users apps are freezing just after both error codes occur. Anything in the code below causing issues??? (maybe _repl.Dispose() is freezing up my handheld, because its freezing after this line of code (see below code):
"MTM.SPUD.Utilities.Utilities.Log("[DEBUGQLThread#" + threadId + "]: End of Thread Life.")"
Public Sub AsyncSyncronize(ByRef PendingData As Boolean, ByVal Publication As String, ByVal Subscription As String, ByRef LastSyncDateTime As DateTime) Dim _repl As New SqlCeReplication() Try ... savedAsyncResult = _repl.BeginSynchronize(objDelegate1, objDelegate2, objDelegate3, objDelegate4, _repl) Catch ex As Exception Finally End Try
End Sub
Public Sub OnSynchronizeComplete(ByVal asyncResult As IAsyncResult) Dim _repl As SqlCeReplication = Nothing Dim threadId As String = "" Try _repl = DirectCast(asyncResult.AsyncState, SqlCeReplication) threadId = _repl.InternetPassword _repl.EndSynchronize(asyncResult) dataIsPending = False
dataIsPending = True If exce.NativeError.ToString = "28600" Then MTM.SPUD.Utilities.Utilities.Log("[WARNINGQLThread#" + threadId + "]: Will try again next time") Return End If
Catch ex As Exception Return 'MTM.SPUD.Utilities.Utilities.Log("App Exception: " + ex.Message) 'Throw New Exception("EndSynchronize Failed: " + ex.Message)
Finally MTM.SPUD.Utilities.Utilities.Log("[DEBUGQLThread#" + threadId + "]: End of Thread Life.") If _repl IsNot Nothing Then _repl.Dispose() _repl = Nothing End If End Try End Sub
I am using xp_sendmail to send mail messages from SQL Server Everything is ok on the development box, but on the production box , Am getting "xp_sendmail: failed with mail error 0x80004005"
i am trying to configure a mail acccount on a sql server8.0 to mail alerts at the start/end or failure of a load.
i have configured the mail account(distribution group) on the server iam able to send mails but unable to receive mails when i try to run a dts package with a task,
i get a error msg- Server: Msg 18030, Level 16, State 1, Line 0 xp_sendmail: Either there is no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.
My mail client is outlook6 and sql ver is 8.0 is it a client problem or do i have to change any settings
Can someone please tell me if this bug with the xp_sendmail proc hasbeen addressed with SP4 of SQL Server 2000."BUG: XP_SENDMAIL Fails to Send Mail to Personal Distribution List"If not, what is the best alternative? I have tried using SQLAgentMailbut still could not get my query to work.Best,Sandeep Madduri
SQL server agent and SQL both log on as the same user and use the same mail profile. SQL server agent sends mail beautifully. I can view the properties of the SQL Server Agent and SQL mail.
When I execute xp_sendmail it does not send a mail message. When I go to view the properties of SQL Mail or SQL Server Agent the Enterprise Manager locks up.
The application logs shows an error# 18009 with a severity of 18.
I reboot the machine and all is well. I still cannot use xp_sendmail
I have a stored procedure that loops through a customer list and email the customer via xp_sendmail. My problem is that if there is a bad email address, the sproc ends right there.
Is there a way to trap for xp_sendmail errors so my sproc won't fail? I didn't see anything in BOL.
I was testing SQL Mail and I kept getting Unknown Recipient error regardless of what type of user names I tried to put in, I'd appreciate it if any of you could help.
Server: NT 4.0 Server (SP4) SQL Server: 6.5 (SP4) Mail Client: Exchange (5.0)
Since my company doesn't have a designated mailbox for SQL Server, I set it up to use my personal mailbox and profile. I was able to get SQL Mail up and running but couldn't not figure out a correct user name to pass to xp_sendmail.
The usual format of our e-mail addresses is <last name><first name>@xxx.com so I tried '<last name><first name>', '<last name>, <first name>' (the same format shown in the Address Book)...etc. but none of those worked.
I have try to send a mail via xp_sendmail in Query Analyzer and it succeeded. So I try to have it executed in a trigger but it failed.
Here is the trigger creation script and error message
use mlcb go if exists (select name from sysobjects where name = 'test' and type = 'TR') DROP TRIGGER TEST GO
CREATE TRIGGER test on mlcb.dbo.trans_errlog for insert as declare @email_subject varchar(100), @email_content varchar(4000), @email_recipients varchar(50)
set @email_subject='SQL Mail test mail' set @email_recipients='some@world.com.tw' set @email_content='this is a test mail, don't reply this mail'
exec master.dbo.xp_sendmail @recipients=@email_recipients,@subject=@email_subj ect,@message=@email_content GO
Error Message: Server: Msg 2812, Level 16, State 62, Line 6 Could not find stored procedure 'master.xp_startmail'. The statement has been terminated.
I'm trying to send an email using master..xp_sendmail with parms andthe default Outlook profile. I can successfully test the profile on myown computer and on the server.I'm running using Windows authentication and have given myself fulladmin rights in MSSQL.Which account is mssql trying to send the email from? Is it theservers or my local clients?The mailbox does not appear to be full and it's possible to send &receive emails on the server and on my own machine.What could be a possible cause or the next thing I can check?Thanks!
Hello!My environment is: Win 2000 Server, MS SQL-Server 2000 (SP2)and MS ExchangeServer 5.5the two following TransactSQL-codepieces show differentresults:1. with attachmentmaster..xp_sendmail@recipients = 'j.hetzel@rac.de',@subject = 'test',@message = 'test',-- ******************************@attachments = 'c: est.txt',-- ******************************@no_output = 'False'-->18025 level 16 state 1 line 0xp_sendmail failed with mail error 0x800040052. without attachmentmaster..xp_sendmail@recipients = 'j.hetzel@rac.de',@subject = 'test',@message = 'test',-- ******************************-- @attachments = 'c: est.txt',-- ******************************@no_output = 'False'-->Mail sent.why am I not able to send emails with attachments?Who can help me???Thanks in advanceJürgen
After consulting with the Exchange Administrator, I was advise that there is a limit on file attachments. This explains why I get this message with large (>20MB) attachments.
With this additional information I need to compress my file using a compression tool like winzip or pkzip. My company uses the windows version of pkzip. However, I have downloaded an evaluation version of the PKzip command line version.
Can someone provide guidance how I can execute this utility within my sql procedure?
Hello I am receiving the dreaded mail error listed above. I can send out a test E-mail from Enterprise Manager to operators, but I cannot run this Transact query:
I use ODBC driver to perform SQLServer commands from C/C++ application.
An "INSERT INTO <table> (<column>) VALUES (NULL)" command has a random behavior in a SQL2000 Server running on WindowsXP.
The <column> in this command has 2 definitions about the NULL value :
- the NULL is accepted in the table definition, with <column> ut_oui_non NULL".
- the NULL is rejected in the type definition, with EXEC sp_addtype ut_oui_non, 'char(1)', 'NOT NULL' and a rule to check values with '0' or '1'
1/ The column definition in any explorer show the NULL from table deffinition
2/ The "INSERT INTO" is completed in SQL Query tool, used on Windows2000 and WindowsXP computers, connected to the same SQL2000 server.
3/ The "INSERT INTO" is completed in the application, running on Windows2000 with an ODBC driver to the same SQL2000 server.
4/ The "INSERT INTO" is rejected in the application, running on WindowsXP witjh an ODBC driver to the same SQL2000 server. The error 513 means that INSERT VALUES conflicts with previous rule. So only the type definition seems to be used.
But :
5/ This is a random error, and some INSERT with the same values in this column are completed.
6/ This random error seems to be discarded by using the "Use NULLs, paddings and warnings ANSI" checkbox in the ODBC driver user source configuration.
This checkbox is only use for enforcing the ANSI syntax in SQL commands, and has no known effect on type checking.
Do you know about any conflict of column NULL value between a type definition and a table definition ?
On localhost this application works fine but when I put on remote server. I am getting following errors. For both localhost and server, I am using same remote sql 2000. I will appreciate any help.
Thanks,
Arif
Server Error in '/' Application. --------------------------------------------------------------------------------
ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ')'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Microsoft.Data.Odbc.OdbcException: ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ')'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
The following (VB.Net) code causes exceptions at seemingly random times. Any suggestions? Not sure if the problem is in .Net's ODBC support or in Sql Native Client.
If MARS is off, usually after less than 100 loops:
Code Snippet
System.Data.Odbc.OdbcException was unhandled ErrorCode=-2146232009 Message="ERROR [HY000] [Microsoft][SQL Native Client]Connection is busy with results for another command" Source="SQLNCLI.DLL" Turning MARS is on bypasses that error, so it will sometimes survive a thousand or so runs before hitting:
Code Snippet
System.Data.Odbc.OdbcException was unhandled ErrorCode=-2146232009 Message="ERROR [23000] [Microsoft][SQL Native Client][SQL Server]Cannot insert the value NULL into column 'Number', table 'tempdb.dbo.#TempTable___..(shortened to fit).. _________000000002F3F'; column does not allow nulls. INSERT fails. Source="SQLNCLI.DLL" Code here: (Console Application, empty database, Visual Studio 2005, .Net 2.0, Windows XP,SQL Server 2005 or SQL Express 2005, Local or Remote)
Code Snippet
Module Module1
Sub Main()
'Dim connection As New SqlClient.SqlConnection("database=TestDB;server=.sqlexpress;Integrated Security=SSPI;") 'Doesn't crash 'Dim connection As New OleDb.OleDbConnection("Provider=SQLNCLI;database=TestDB;Server=.sqlexpress;Trusted_Connection=yes;") 'Doesn't crash
'Dim connection As New Odbc.OdbcConnection("Driver={SQL Native Client};Database=TestDB;Server=.sqlexpress;Trusted_Connection=yes;") 'Crashes Dim connection As New Odbc.OdbcConnection("Driver={SQL Native Client};Database=TestDB;Server=.sqlexpress;Trusted_Connection=yes;MARS_Connection=yes") 'Crashes
VBMath.Randomize()
Dim run_count As Integer = 1 connection.Open() Console.WriteLine("Connected!!")
While True 'connection.Open()
Dim testcmd As New Odbc.OdbcCommand("CREATE TABLE [#TempTable] (Number int PRIMARY KEY)", connection) testcmd.ExecuteNonQuery() testcmd.Dispose() testcmd = Nothing
Dim dtTemp As New DataTable Dim daTemp As New Odbc.OdbcDataAdapter("SELECT * FROM [#TempTable]", connection) daTemp.MissingSchemaAction = MissingSchemaAction.AddWithKey daTemp.Fill(dtTemp) Dim cbTemp As New Odbc.OdbcCommandBuilder(daTemp) Dim viewTemp As New DataView(dtTemp, Nothing, "Number", DataViewRowState.CurrentRows)
Dim i As Integer For i = 1 To 1000 Dim test_number As Integer = CInt(Rnd() * 2000) If viewTemp.Find(test_number) = -1 Then 'Keep it unique Dim new_temp_row As DataRowView = viewTemp.AddNew() new_temp_row("Number") = test_number new_temp_row.EndEdit() End If Next
daTemp.Update(dtTemp)
'daTemp.Dispose() 'daTemp = Nothing
'cbTemp.Dispose() 'cbTemp = Nothing
'dtTemp.Dispose() 'dtTemp = Nothing
'viewTemp.Dispose() 'viewTemp = Nothing
Dim testcmd2 As New Odbc.OdbcCommand("DROP TABLE [#TempTable]", connection) testcmd2.ExecuteNonQuery() testcmd2.Dispose() testcmd2 = Nothing
'connection.Close() 'GC.Collect()
'Console.Write(".") run_count += 1 End While
End Sub
End Module
Usually the ".Update" triggers the exception, but sometimes the other sql commands do it. Have tried various experiments with disposing of objects immediately when finished, but no effect. Opening and closing the connection each loop seems to delay the errors, but it still happens eventually.
When our administrators login on the workstation the application works well. But when ordinary users login they get the following error. (We only have 1 domain)
SQLState: 28000
SQL Server Error: 18452
Login failed for user ". The user is not associated with a trusted SQL Server connection.
Then the standard SQL Server Login window pops up asking for the Login ID and Password. On the window the 'Use Trusted Connection' is checked and the name of the user on the workstation appears on the LoginID. What we do is uncheck the 'Use Trusted Connection' then login using the credentials above.
I keep getting this error: OLE DB error: OLE DB or ODBC error: You do not have permission to run 'SP_TRACE_CREATE'.; 42000
I do not want to add the login account to sysadmin role on my production server and giving the logon account db_reader rights to my database is not working. Is there another way around it.