Raiserror Messages Not Sent To Clients

Jul 20, 2002

We’re having trouble getting error messages to show up on clients. Our ADO research indicates that the Errors collections is populated, “automatically” – what you do with it is up to the application. Our collection is not being populated. MS says the SQLOLEDB provider has a problem (the collection is not filled) if SET NOCOUNT is OFF. We have SET NOCOUNT ON and still have the problem. We have narrowed the problem down (the example below is an abbreviated version) to “the Errors Collection is not populated if the Raiserror follows a SELECT statement that returns a recordset”.

In the code below the simple select run after the first RAISERROR appears to “block” the Error Collection. Is this by design? Are you never supposed to be able to return records and messages from the same program? We can code around it if we have to, but the documentation seems to indicate our approach is viable.

Any ideas would be most appreciated.

SQL Stored Procedure:

CREATE PROCEDURE Address_Ck
(
@Address_ID INTEGER OUTPUT
, @MailOnly_LG BIT
, @Ctry_ID SMALLINT
, @StPv_ID SMALLINT
, @PostCode_ID INT
, @PostCode_Ext_CH CHAR(10)
, @Add1_VC VARCHAR(60)
, @Add2_VC VARCHAR(60)
, @Add3_VC VARCHAR(60)
, @Add4_VC VARCHAR(60)
, @City_VC VARCHAR(30)
, @City_Lock_LG BIT
, @Directions_VC VARCHAR(2000)
)

AS

DECLARE
@Finder_VC VARCHAR(20)
, @Label1_VC VARCHAR(60)
, @Label2_VC VARCHAR(60)
, @Label3_VC VARCHAR(60)
, @Label4_VC VARCHAR(60)
, @Label5_VC VARCHAR(60)
, @Label6_VC VARCHAR(60)


-- the error in the next line shows up when not commented out
--RAISERROR ( ‘ This error always shows up.’ ,16,1)


SELECT Address_ID
, Label1_VC
, Label2_VC
, Label3_VC
, Label4_VC
, Label5_VC
, Label6_VC
FROM Address_T
WHERE Finder_VC= @Finder_VC


RAISERROR ( ‘ Why won’t this error showup?. ’ ,16,1)
-- the error above never shows up


************************************************** ****
************************************************** ****


THE VB CODE:

Option Explicit
Dim db As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

Private Sub Command1_Click()
On Error GoTo errmsg

Set rs = New ADODB.Recordset
Set cmd = New ADODB.Command

With db
.Provider = "SQLOLEDB"
.ConnectionString = "Data Source=Jeanne;trusted_connection = true;integrated security=sspi"
.Open
.DefaultDatabase = "DevTime21"
End With

With cmd

.ActiveConnection = db
.CommandType = adCmdStoredProc
.CommandText = "address_findck_okinsert_m"
.Parameters.Append .CreateParameter("@address_id", _
adInteger, adParamOutput, 4)
.Parameters.Append .CreateParameter("@Mailonly_lg", _
adBoolean, adParamInput, 1, False)
.Parameters.Append .CreateParameter("@ctry_id", _
adInteger, adParamInput, 4, 1)
.Parameters.Append .CreateParameter("@stpv_id", _
adInteger, adParamInput, 4, 1)
.Parameters.Append .CreateParameter("@postid_id", _
adInteger, adParamInput, 4, 0)
.Parameters.Append .CreateParameter("@postcode_ext", _
adChar, adParamInput, 10, "")
.Parameters.Append .CreateParameter("@add1_vc", _
adVarChar, adParamInput, 60, "")
.Parameters.Append .CreateParameter("@add2_vc", _
adVarChar, adParamInput, 60, "")
.Parameters.Append .CreateParameter("@add3_vc", _
adVarChar, adParamInput, 60, "")
.Parameters.Append .CreateParameter("@add4_vc", _
adVarChar, adParamInput, 60, "")
.Parameters.Append .CreateParameter("@city_vc", _
adVarChar, adParamInput, 30, "")
.Parameters.Append .CreateParameter("@city_lock_lg", _
adBoolean, adParamInput, 1, False)
.Parameters.Append .CreateParameter("@directions_vc", _
adVarChar, adParamInput, 2000, "")
End With
rs.CursorLocation = adUseClient

rs.Open cmd, , adOpenStatic, adLockBatchOptimistic
If Not IsNull(cmd("@address_id")) Then


Else

MsgBox "Please contact System Administrator. There was a problem adding address."
End If
Exit Sub
errmsg:
Call errormsginfo

End Sub

View 2 Replies


ADVERTISEMENT

RAISERROR WITH NOWAIT Vs RAISERROR + RETURN

Dec 19, 2006

I would like to know if there was any semantic differences between the two following statements?

RAISERROR('Invalid argument.',11,1);
RETURN;

or simply

RAISERROR('Invalid argument.',11,1) WITH NOWAIT;

It seems that both statements interrupt the current transaction.

Does anyone has an idea on the subject?

Thanks in advance,
Joannes

View 4 Replies View Related

How To Write .net Code To Place XML Messages On Queues And Retrieve XML Messages From Queues.

Apr 2, 2008

Hello, please help!!

I have spent days searching the web and forums for an answer to this simple question and cannot find an example.

I have built a service broker application on sql server 2005. The application puts some xml on an incoming queue which is basically a few parameters to be used in a query. This queue will then call a stored proc which does some business logic and puts the resulting results in another queue also in xml.

I have written a test harness in SQL to put messages on the inbound queue and then some sql to retrieve the returned code from the outbound queue.

What I want to do is be able to convert the SQL which does this into .net code to be used by an application. i.e. write in .net some code to put xml on a queue and then write some .net code to retrieve xml from another queue.

I wouldn't have thought this would be a difficult thing to do and would have been done hundreds of times, but unable to find anything to simply send and retrieve XML to service broker queues....

thanks for your help.. its really needed. I found some links, but they are really vague and often doing select statments in service broker or something like this. I don't want to call any sql, just send and recieve XML on the queues.

any example code that does this, would be really helpfull

kind regards,
David Weeden
Database Developer

View 2 Replies View Related

Using RAISERROR

Jul 12, 2006

In my Windows application I use sqlCmd.ExecuteNonQuery() to execute the stored procedure, In case of an error in the stored procedure I need to return an exception to application, will RAISERROR in stored procedure accomplish that?

View 1 Replies View Related

RAISERROR Log

Dec 6, 2006

Is there any log regarding RAISERROR and rollback in the SQL Server. I would like to know how many times it happened in a day.

View 1 Replies View Related

RAISERROR

Sep 14, 2007

Hello,I am raising an error on my SQL 2005 procedure as follows:    RAISERROR(@ErrorMessage, @ErrorSeverity, 1)How can I access it in my ASP.NET code?Thanks,Miguel 

View 1 Replies View Related

Raiserror

Apr 3, 2001

When I have an raiserror. This is what I got:

Server: Msg 50000, Level 16, State 1, Line 6
No Rows Found for 1 and Rachel.

Question: How do I get rid of this line: "Server: Msg 50000, Level 16, State 1, Line 6"

View 1 Replies View Related

Raiserror

Jan 14, 2004

Is there a way to raise an exception inside a user function in the Sqlserver2000?.

View 5 Replies View Related

RAISERROR

Jun 14, 2006

hi
RAISERROR is used to return message to the caller.
how to contain RAISERROR :
variable
declare @name varchar(50)
and string
'Welcome'
i want to contain the RAISERROR messege 'Welcome' + @name value in the same time
ex
Welcome Zaid
can give the code to do this
thank you

View 4 Replies View Related

Raiserror

Apr 16, 2007

hey all,

just cant figure out why my raiserror print
Wrong RoleType for customer lientID
for :- RAISERROR('Wrong RoleType for customer %ClientID', 16,1, @ClientID)
what's with missing C? is % some kind of escape char or something? (im trying to print back the parameter @clientid), or should i just use the print ''

~~~Focus on problem, not solution~~~

View 6 Replies View Related

How To Use Raiserror In UDF's

Jan 2, 2008

Im working in a Oracle to SQL migration project, I need to migrate a function
which is using Raiserror()

I have a function in Oracle like this,

create function fn_name( parameters )
returns int
as begin
if ( condition )
-- do some logic
else
raiseerror()
end

I need to migrate this to SQL server 2005.

From next version we wont have Extended procedure, so its better to avoid.
Instead that we can use CLR integration.

Can anyone help me out...

View 2 Replies View Related

Using RAISError

Aug 2, 2006

This statement adds a new message to the master..sys.messages table


EXEC sp_addmessage @msgnum = 60000, @severity = 16,
@msgtext = N'The item named %s already exists in %s.'



But if this error happens, how is an application supposed to access this message? (The average app shouldn't need to access to the master database to get this info.)



Barkingdog.



View 1 Replies View Related

Using RAISERROR

Jul 12, 2006

In my Windows application I use sqlCmd.ExecuteNonQuery() to execute the stored procedure, In case of an error in the stored procedure I need to return an exception to application, will RAISERROR in stored procedure accomplish that?

View 1 Replies View Related

CLR UDT And RAISERROR

May 6, 2008

Is there any way to emulate RAISERROR from CLR UDT?

Thanks

View 6 Replies View Related

How To Use Raiserror In UDF's

Jan 2, 2008

Im working in a Oracle to SQL migration project, I need to migrate a function
which is using Raiserror()

I have a function in Oracle like this,

create function fn_name( parameters )
returns int
as begin
if ( condition )
-- do some logic
else
raiseerror()
end

I need to migrate this to SQL server 2005.

From next version we wont have Extended procedure, so its better to avoid.
Instead that we can use CLR integration.

Can anyone help me out...

View 3 Replies View Related

Trying To Get Last Ten Clients

May 29, 2008

I'm trying to get the last ten unique clients viewed by each user. I have tried using the TOP (N) but it does not show the last ten just any ten.
When a user views a client record, a record is saved to the tblUserRecentViewedClients table and includes logID (key), client_id (int), username (nvarchar), lastviewed (datetime).
Here is what I have so far. Can anyone offer any suggestions?SELECT TOP (10) tblUserRecentViewedClients.UserName, tblUserRecentViewedClients.Client_ID, tblClient.FirstName, tblClient.LastName,
tblClient.CompanyName
FROM tblUserRecentViewedClients INNER JOIN
tblClient ON tblUserRecentViewedClients.client_ID = tblClient.client_ID
WHERE tblUserRecentViewedClients.UserName=@UserName
GROUP BY tblUserRecentViewedClients.UserName, tblUserRecentViewedClients.Client_ID, tblClient.FirstName, tblClient.LastName,
tblClient.CompanyName 

View 8 Replies View Related

Do You Need The Clients

Jan 15, 2004

If i use sql server as my backend and microsoft access as my frontend do i need to purchase client access lisences??

View 1 Replies View Related

RAISERROR Not Working

Jan 3, 2007

I have used RAISERROR on some of our pages before, and it worked fine.  Now I have a page that has a formview with a sqldatasource that does an insert.  If the value for a certain field exists already in the table, I am trying to use RAISERROR('message', 15, 1) to have a popup error.  The page does a redirect in the iteminserted event.  When I try to insert with data that should cause an error, it doesn't insert into the database, but I don't see an error.  The page just redirects...  any ideas what could be done to fix this?

View 1 Replies View Related

RAISERROR In CLR Routines

Jan 9, 2007

When I use the
following code to execute a RAISERROR from within a CLR Routine (Stored
Procedure), and I call this CLR stored procedure from T-SQL within a
TRY/CATCH block, the error is not caught in the CATCH block. Why is
this happening? Is there any way around this? Any help much appreciated.try { SqlContext.Pipe.ExecuteAndSend(cmd); } catch { } 

View 3 Replies View Related

Raiserror And ODBC

Sep 18, 2000

I have an Alert and a Raiserror which I need to do 3 things.
1. Recognize the error (that works)
2.Raise the alert and email the error message to support
3. Return the error message raised to the user application.(not working)
is returning the error message to the user related to the way the application
runs or is this a fairly generic function. (This is sort of an oddball app which is compiled C++ that inteprets data to create it's screens.)

View 1 Replies View Related

SQL Server RAISERROR

Feb 16, 2007

Whats the relation between SYBASE RAISERROR and SQL Server RAISERROR in terms of user-defined error codes

View 1 Replies View Related

RAISERROR In CLR Routines

Jan 9, 2007

When I use the following code to execute a RAISERROR from within a CLR Routine (Stored Procedure), and I call this CLR stored procedure from T-SQL within a
TRY/CATCH block, the error is not caught in the CATCH block. Why is
this happening?







try { SqlContext.Pipe.ExecuteAndSend(cmd); } catch { }

View 10 Replies View Related

Variables On RAISERROR

Apr 16, 2008

hi,

How can i insert variables on RAISERROR message ?


RAISERROR('There is no value to compare with the referenced Date '+@ReferenceDate,16,1)

View 3 Replies View Related

Raiserror Syntax

May 23, 2008

Hello,

I can't find any documentation about this syntax, but it works in sql 2005.
RAISERROR @Error @Message

Can you give me a clue - what is it ? why it works ? why not documented ? and what possible issues can I have by using it ?

Thanks

View 3 Replies View Related

Using TRY...CATCH With RAISERROR

Jun 1, 2006



Hi, I am trying to write a trigger in SQL 2005 and am running into a lot of issues. Here is my code



BEGIN

BEGIN TRY

DECLARE @count int

--check for timeon which is greater than timeoff

SET @count=0

SELECT @count=count(*)

FROM IVRCONFIG.dbo.C_GROUP_HOURS a WITH (NOLOCK),inserted i

WHERE a.XFER_GROUP = i.XFER_GROUP

AND a.DAY_OF_WEEK = i.DAY_OF_WEEK

AND a.TIMEON = i.TIMEON

AND a.TIMEOFF < a.TIMEON

IF @count<>0 RAISERROR (50001,16,1);

END TRY

BEGIN CATCH

RAISERROR

END CATCH

END

The error I specify is one I added to sys.messages. Can anyone tell me where I am going wrong??

View 1 Replies View Related

Installing SQL 7.0 On Clients - Do I Need IE4?

Feb 15, 2000

I have to install SQL 7.0 Client software (query analyzer, client connectivity) on A LOT of workstations that only have Internet Explorer 3.0 ... Is there any way of getting around not upgrading to 4.0 sp1? If I try to just install 7.0 client, it errors out saying I need IE 4.0sp1. I really don't want to have upgrade IE!!!

Thanks in advance.
Laura

View 4 Replies View Related

Mail Clients

Sep 2, 2000

Is anyone using a mail client other than Outlook to work with SQL Server 7.0? If so, what are you using, and what is your opinion of it?

Doug

View 1 Replies View Related

6.5 - 7.0 Clients On Same Machine?

Nov 4, 1999

Are there any issues with retaining both the SQL 6.5 and SQL 7.0 clients as
installed components on our desktops? We have a number of SQL 6.5 and 7.0
Servers which have some fairly specific client side requirements and I am
trying to ascertain what the potential impact is to rolling out SQL 7.0
components to a separate directory to allow all applications to coexist. My
specific concerns are with the shared DLL's in system32 and with updated
7.0 executables that share the same name (i.e. BCP, etc) and resultant path
issues.

Any feedback or articles that cover this subject would be appreciated.

Thanks,
A

View 2 Replies View Related

Mdac 2.8 And Clients

Mar 11, 2004

We use mdac 2.7 on all servers and clients

We want to update servers to 2.8
Do we MUST update clints to 2.8 or they
can continue to run with 2.7


Thank you
Alex

View 1 Replies View Related

Clients In Different Domains

Oct 25, 2005

I have situation like this:

Company with one head office and one remote office. In the two offices I have two domains with two PDCs. The two networks are connected with eachother through leased line and the routers are configured properly. The SQL Server is on the PDC in head office and "local" clients connect fine. I cannot connect from the remote office. I think that I have folowing solutions:

1. make trust relationships between two domains - it will be hard a little bit because second PDC is samba on linux

2. make all clients in remote office to be members of the head office domain - potential problems if the leased line drops

3. make all clients to log in with same account as SQL Server logs locally - stupid

4. something else - what?

Thanks in advance!
Daniel

View 3 Replies View Related

Tool For Clients

Oct 24, 2005

Can anyone recommend a tool where I can email to someone both the SQLquery and the result set? Right now, I'm just copying the results to aspreadsheet. No, I can't use Reporting Services or Crystal Reports.

View 2 Replies View Related

Does RAISERROR Cause Performance To Go Down 'slightly'?

Sep 8, 2007

I was curious if using RAISERROR in the catch block of a stored procedure does actually causes some hit on performance? I think it would, as compared to simply returning an error code in this sp's output parameter.

View 1 Replies View Related

Catch Raiserror From ExecuteReader

Feb 27, 2004

Hi. I am executing a stored procedure. The stored procedure raises an error and all I need is to catch this error. Pretty simple, but it only works with an ExecuteNonQuery and not with an Executereader statement. Can anybody explain to me why this happens?

Here's the sp:

CREATE PROCEDURE dbo.rel_test
AS
select 1
raiserror ('My error.', 11, 2)
return
GO

Here's the ASP.Net page:

<% @Page Language="VB" debug="True" %>
<% @Import Namespace="System.Data.SqlClient" %>
<script runat="server">
Public Function RunSP(ByVal strSP As String) As SqlDataReader
Dim o_conn as SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("connectionstring"))
AddHandler o_conn.InfoMessage, New SqlInfoMessageEventHandler(AddressOf OnInfoMessage)

o_conn.Open

Dim cmd As New SqlCommand(strSP, o_conn)
cmd.CommandType = System.Data.CommandType.StoredProcedure
Dim rdr as SqlDataReader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
rdr.Close()
cmd.Dispose()

Response.Write(o_conn.State)


End Function

Private Sub OnInfoMessage(sender as Object, args as SqlInfoMessageEventArgs)
Dim err As SqlError
For Each err In args.Errors
Response.Write(String.Format("The {0} has received a severity {1}, state {2} error number {3}" & _
"on line {4} of procedure {5} on server {6}:{7}", _
err.Source, err.Class, err.State, err.Number, err.LineNumber, _
err.Procedure, err.Server, err.Message))
Next
End Sub

Sub Page_Load(sender as Object, e as EventArgs)
RunSP("rel_test")
End Sub
</script>

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved