I'm new to SQL Server and I'm building an SQL Server 2000 database that will be loaded and accessed via stored procedures.
One of the requirements is that I have to log any errors that occur to an error log table containing the date/time, error code and the exact error text - ie containing problem table name, column name, etc.
The problem I'm having is that I can't see a way of capturing the exact error text in a stored procedure. The only thing that seems available is @@error which only returns the error code - not the actual text. I could go to the sysmessages table using the error code but that'll only return the message template containing parameters - not containing the actual table/column/etc causing the problem.
Does anyone have any ideas how to retrieve the exact error message text?
well i have got a form which displays some result from the databasse, it runs fi9 in webmatrix, but when i try to run it from my main page and when i click on that button which should displays the aspx page, it gives me this error:
Server Error in '/' Application. --------------------------------------------------------------------------------
Login failed for user 'MUFADDALASPNET'. 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: System.Data.SqlClient.SqlException: Login failed for user 'MUFADDALASPNET'.
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.
-------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573
I am pulling my hair out trying to resolve this issue. I have placed several messages on different message boards and have not received any response to this issue. Can anyone here please help me?
I have installed 'full text index' on a server, initialized it and created a job to full text two fields in a table. I can see that the last refresh was a day ago. I am calling a stored procedure: (the server is version 7 of SQL Server with sp3)
SELECTfaqID, FaqQuestion, FaqText, Status, InputDate FROMfaqs WHEREContains(*, @pSearchString) and Status = 1
All I get is this error message, whether I call this from an asp page or run it directly from query analyzer:
Microsoft OLE DB Provider for SQL Server error '80040e14' Search on full-text catalog 'etr_fts' for database ID 10, table ID 1429580131 with search condition 'faq' failed with unknown result (324bd27c).
Hi everyone, So what I am trying to do is to have a simple textbox where the person enters a code. Then I need to have that code in an SQL statement like: SELECT Participant_Code FROM Contacts WHERE (this is where im stuck, I need to have something like WHERE Participant_code = code (code is the textbox ID)) After this is done I need to keep this code from page to page, because I will need to add data from other textboxes to the database. Thanks
I am trying to catch and parse the message after passing a transaction to SQL from a clr proc. For example in the below code after passing sp.ExecuteAndSend(qry) how can I receive the message of "(1 row(s) affected)" from the messages tab. I know that I can write to the message tab with sp.Send, but is it possible to read from the output?
Thank you in advance for your assistance
Code Snippet Imports System.Data.SqlClient
Partial Public Class StoredProcedures _ Public Shared Sub prepxml _ (ByVal sInputFile As String) Dim sContents As String Dim sp As SqlPipe = SqlContext.Pipe() Dim qry As New SqlCommand() Dim stmReader As New StreamReader(sInputFile)
Try 'Create a string reader and pass it the input parameter of the 'file path. The sContents variable will receive the content of 'the stream reader sContents = stmReader.ReadToEnd() stmReader.Close() 'Replace single quotes to enclose the quotes so errors aren't raised sContents = sContents.Replace("'", "''''") 'Create a query object and convet the sContents to an xml data 'type qry.CommandText = " SELECT CONVERT(XML, '" & _ sContents & "')" 'Execute the query and pass the result set back to SQL sp.ExecuteAndSend(qry)
sp.Send(qry.CommandText.ToString.Substring(1, 3000)) Catch ex As Exception 'Cath any exceptions and use a sqlpipe to send the error 'message back to sql sp.Send(ex.Message.ToString) End Try End Sub End Class
Our company sends out sms text mesgs from our MSSQL Database and stores the responses in a table when a reply is received. My problem is now that some mesgs are showing as blank(even when I copy the raw data field out of the query return window) yet when I check the length of the field, it contains data. I set the field to a Temp Variable and converted the contents to ascii and definitely found that it shows data.
We use this reply as a rating system and I have queries and functions that extract the info I need, the problem is that I need to convert this field into a readable field first before I can extract the info.
SQL example:
Select T2.ReceivedData , Datalength(T2.ReceivedData) Length FROM DMZWEB01.[SMS_SERVICE].[dbo].[Sent] T1 LEFT JOIN DMZWEB01.[SMS_SERVICE].[dbo].[Reply] T2 ON T1.ID = T2.ID INNER JOIN Clm_ClaimsRegister T3 ON T1.PolicyNumber = T3.Claim_No Where T1.id = 1158008
This returns a blank field and a datalength of 6.
To prove that the field contains data, a query that can run is:
DECLARE @Temp VarChar(8) = (Select T2.ReceivedData FROM DMZWEB01.[SMS_SERVICE].[dbo].[Sent] T1 LEFT JOIN DMZWEB01.[SMS_SERVICE].[dbo].[Reply] T2 ON T1.ID = T2.ID INNER JOIN Clm_ClaimsRegister T3 ON T1.PolicyNumber = T3.Claim_No Where T1.id = 1158008
[Code] ...
This returns < Line numbers >
1> 2>1 3> 4>0 5>& 6>: 7>
the actual field is pasted between these two comment '' signs below '' see? nothing
I have an File System Task that copies a file from one directory ot another. When I hard code the target directory (c:dirfile.txt) it works fine. When I change it to a virtual directory (\serverdirfile.txt) I get a security error:
[File System Task] Error: An error occurred with the following error message: "Access to the path '\gracehbtest oS2TMM_Live_Title_000002.xml' is denied.".
Hi, To be more clear. My problem is : 1) I launched the stataments behing via sql server studio : Use AutClust GO SET NOCOUNT ON; Set statistics IO ON GO select * FROM table_1; Go Set statistics IO OFF GO
2) I have then obtained in tab message the result displayed in text format in tab messages : Table 'table_1'. Scan count 1, logical reads 490, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
The objective is to implement those statements in a stored procedure that will be able to recover in automatic manner the content of tab messages. This text is a system response connected to the statements above. I think that exist a system variable which contain the result displayed in tab messages.
I tried tu use @@rowcount it deos not work because this system variable return number of row affacted by last statement.
Does it exist another system variable that could contain the text which is in tab messages?
I do need a solution for this problem. Please bring me your help.
Hi, I execute a query via queries editor embedded in sql srver studio.then i have query result in results tab and a text message in tab messages. Does it exist a T-SQL sys global variable as of i could to retrieve the text message that is displayed in tab messages?
To be more clear. My problem is : 1) I launched the stataments behing via sql server studio : Use AutClust GO SET NOCOUNT ON; Set statistics IO ON GO select * FROM table_1; Go Set statistics IO OFF GO
2) I have then obtained in tab message the result displayed in text format in tab messages : Table 'table_1'. Scan count 1, logical reads 490, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
The objective is to implement those statements in a stored procedure that will be able to recover in automatic manner the content of tab messages. This text is a system response connected to the statements above. I think that exist a system variable which contain the result displayed in tab messages.
I do need a solution for this problem. Please bring me your help.
I'm trying to use an XML Task to do a simple XSLT operation, but it fails with this error message:
[XML Task] Error: An error occurred with the following error message: "There are multiple root elements. Line 5, position 2.".
The source XML file validates fine and I've successfully used it as the XML Source in a data flow task to load some SQL Server tables. It has very few line breaks, so the first 5 lines are pretty long: almost 4000 characters, including 34 start-tags, 19 end-tags, and 2 empty element tags. Here's the very beginning of it:
<?xml version="1.0" encoding="UTF-8"?> <ESDU releaselevel="2006-02" createdate="26 May 2006"><package id="1" title="_standard" shorttitle="_standard" filename="pk_stan" supplementdate="01/05/2005" supplementlevel="1"><abstract><![CDATA[This package contains the standard ESDU Series.]]></abstract>
There is only 1 ESDU root element and only 1 package element.
Of course, the XSLT stylesheet is also an XML document in its own right. I specify it directly in the XML Task:
My goal: I want to hide some text or table from inside the email message body. I don't want to attach a file with a table neither I want copy/paste it. I'd like to put that Excel table inside the message but the table is quite big.
Before I used Lotus Notes and it had the option to fold of hide some text from user. User could open when it wants but it will not take the space.
I have a report serve at http://MyServer/reportserver My Asp .net web application is running on anothere machine http://WebappMachine/default.aspx.
Here is what is happening 1.My Report server admin created a folder <<MyName>> and gave me user name and password to acess it .
2.I connect through url http://Servername/reportserver . server prompts me for Username and password . When I key in user name pass word it takes me to the root . I browsed through to the <<MyNameReports>> and created datasource and uploaded .RDL files.
3.I browse the URL to run reports externally using http://myReportserver/ReportServer/Pages/ReportViewer.aspx?%2fDeveloper%2fmyname%2fReports%2ftestreport&rs:Command=Render
it works .
4. I am developing a web app in Asp .net and use reportviewer control to show the report. Credentials is the same as what I using during manually running the reports .Code is as follows
Me.ReportViewer1.ServerReport.ReportServerCredentials = New System.Net.NetworkCredential(uid, pwd) Me.ReportViewer1.ProcessingMode = ProcessingMode.Remote Me.ReportViewer1.ServerReport.ReportServerUrl = New System.Uri("http://myreportserver/reportserver") Me.ReportViewer1.ServerReport.ReportPath = New String("/Developer/myname/Reports/testReport") Me.ReportViewer1.ServerReport.SetParameters(RptParameters) Me.ReportViewer1.ServerReport.Refresh()
I get following error .
"The request failed with the error message: -- <html><head><title>Object moved</title></head><body>
Object moved to here.
</body></html>
--."
I tried to use API
Dim rs As New Microsoft.SqlServer.ReportingServices2005.ReportingService2005() rs.Url = "http://myreportserver/reportserver/ReportService2005.asmx" rs.Credentials = New System.Net.NetworkCredential(UID, PWD) rs.LogonUser(UID, PWD, Nothing)
Dim items As CatalogItem() = rs.ListChildren("/Developer/myname/Reports", True)
When I debug , it pass through LogonUser method ( or Displays Logon failed when wrng pwd entered ) .But displays same message as above when ListChildren is called .
I appreciate for your time and would be of great help if someone can help me with this .
Please HELP! On my asp.NET page I'm setting a datetime variable to Now() and inserting that value into SQL Server as a datetime stamp. I want to then retrieve the count of the number of records that were inserted into the table that have that value. The field in the table is just a datetime datatype.But it's returning 0 records because the Now() value is getting converted to military time and losing the seconds! For example, Now() is "9/13/2005 2:48:25 PM" but the value being inserted into the table is "2005-09-13 14:48:00.000".ARRRGGHH! What am I missing?? What do I need to do to be able to (1) keep the seconds, and (2) identify the records in order to retrieve them?Thanks in advance for your help!!!Lynnette
We are using a simple CLR sp where an SQL statement is executed inside the same. THe execution happens in a server of different context that is connected inside CLR sp. The result set is returned in tabular format using pipe. But, when we access the result as below
it give the following error. Any help is appreciated. It seems to be some error with distibuted transaction. We tried adding BEgin Distributed trnasaction, but still the error comes.
Msg 6522, Level 16, State 1, Procedure TestProc, Line 0 A .NET Framework error occurred during execution of user-defined routine or aggregate "TestProc": System.Transactions.TransactionException: The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025) ---> System.Runtime.InteropServices.COMException: The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025) System.Runtime.InteropServices.COMException: at System.Transactions.Oletx.ITransactionShim.Export(UInt32 whereaboutsSize, Byte[] whereabouts, Int32& cookieIndex, UInt32& cookieSize, CoTaskMemHandle& cookieBuffer) at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) System.Transactions.TransactionException: at System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException) at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) at System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) at System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open()
Hi, I'm at my wit's end with this. I have a simple stored procedure: PROCEDURE [dbo].[PayWeb_getUserProfile] ( @user_id_str varchar(36), @f_name varchar(50) OUTPUT)AS BEGINDECLARE @user_id uniqueidentifier; SELECT @user_id = CONVERT(uniqueidentifier, @user_id_str); select @f_name=f_name FROM dbo.tbl_user_profile WHERE user_id = @user_id; ENDRETURN The proc runs perfectly from the Management Console. In my ASP.net form (C#), the following always results in: "Invalid attempt to read when no data is present." (I'll highlight the line where the error results): SqlConnection conn = new SqlConnection(<connection string data>);SqlDataReader reader; SqlCommand comm = new SqlCommand("dbo.PayWeb_getUserProfile", conn);comm.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter f_name = new SqlParameter("@f_name", SqlDbType.VarChar, 50); f_name.Direction = ParameterDirection.Output;comm.Parameters.Add(f_name); comm.Parameters.Add("@user_id_str", SqlDbType.VarChar, 36).Value = Membership.GetUser().ProviderUserKey.ToString().ToUpper();reader = comm.ExecuteReader();Response.Write("Num: " + reader["@f_name"].ToString()); // ERROR: Invalid attempt to read when no data is present. reader.Close();conn.Close(); The data is there. When I put a watch on 'Reader', I see the correct first_name data there. Your help is appreciated.
I have created stored procedures and I am checking whether any error has occured on execution of the statements in that procedure.
If the @@Error <>0 then I need to log this error into my error logging table. For this, I need to retrieve the error description given by SQL SERVER 2000.
I tried this using the master.dbo.sysmessages table. But I get a text from master.dbo.sysmessages which has the placeholders like %l, %s, etc.
I dont want this type of error. I want the exact error description which has the actual objects names and not the placeholders.
I found some help at this link : http://www.sommarskog.se/error-handling-I.html#textretrieve
But i want to know whether there is any other way of doing this or not.
My apologies...I wasn't for sure where to post an error like this...
Over the last 2 months I have gotten this SQL Server error (twice). All existing processes will continue to work, however no new processes can be created and users cannot connect to the server. This is the exact text of the message in the SQL Server error log.
Operating system error 10038: An operation was attempted on something that is not a socket...
Error: 17059, Severity: 18, State: 0
Error accepting connection request via Net-Library 'SSNETLIB'. Execution continuing.
Error: 17882, Severity: 18, State:
While we can typically just stop SQL Server Service and restart the services...I have found it is best to restart the machine during non-production times to take care of any 'residual' effects of this error.
The SQL Server 2000 SP4 box with Windows 2003 Standard SP1 is well maintained by our I.T. team and it typically will run 4 or 5 months without a reboot.
Hi, I have developed a website in asp.net 2. I have tester it and it is working fine on my computer but when I have uploaded it to my server I'm getting an error message when the user signup. The error occurs when I'm setting the user role to 'members'.
Error line > Roles.AddUserToRole(user.UserName, "members")
The strage thig is that it is working on my computer but not on the server. My home computer and the server are running the same software versions and the website database is the same as well.
To double check that my code is not generating the error I have lonched 'SQL Query Analizer' and executed the folowing code on my database: NOTE: In my database I have create the user “teeluk12� and a role “members�
Trying to connect to remote server croaktoad.simpli.biz I have SQL 2005 Developer on XP SP2 , I have disabled my windows firewall. I can ping to my server (croaktoad.simpli.biz) and i get no error message. My remote connection using both TCP/IP and named pipes are checkeed. My SQL Server Browser is running as well.
However when I try to connect using Managment Studio or running SQLCMD /Scroaktoad. simpli.biz /E I get the following error message
C:sqlcmd /Scroaktoad.simpli.biz /E HResult 0x52E, Level 16, State 1 Named Pipes Provider: Could not open a connection to SQL Server [1326]. Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.. Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired
So I've read all the forums for past 2 days and tried everything, nothing changed Any ideas?
I have some VB.NET code to retrieve data from an SQL Server database and display it. The code is as follows: ------------------------------------------------------------------------------------------------------- sw_calendar = calendarAdapter.GetEventByID(cid) If sw_calendar.Rows.Count > 0 Then
lblStartDateText.Text = "*** Not Found ***" lblEndDateText.Text = "*** Not Found ***" lblTitleText.Text = "*** Not Found ***" lblLocationText.Text = "*** Not Found ***" lblDescriptionText.Text = "*** Not Found ***" End If ------------------------------------------------------------------------------------------------------- If all of the fields in the database has values, everything works ok. However, if the title, location or description fields have a null value, I receive the following error message: Unable to cast object of type 'System.DBNull' to type 'System.String'. I've tried a bunch of different things such as:
Adding ".ToString" to the database field, Seeing if the value is null: If sw_calendar(0).description = system.DBnull.value... ...but either I get syntax errors in the code, or if the syntax is ok, I still get the above error message. Can anyone help me with the code required to trap the null within the code example I've provided? I'm sure there are other, and better, ways to code this, but for now I'd really like to get it working as is, and then optimize the code once the application is working (...can you tell I have a tight deadline )
I am having trouble returning the correct record with my stored procedure. my problem is that i don't know how to structure the sql statement to do the following: given a set of records that have the same loankey, i need to 1. find the record that has most recent date (lockExprDt) 2. for all records with that date, find the highest Lock Number (LockNo) 3. for the all the records with that date and that LockNo, find the highest extension number (Ext) currently my sql statement returns a record that has the most recent date. i don't now how to write the sql to further define my query to return the record that has the most recent date with highest lock number, and finally the highest extension number. any suggestions as to what i am doing wrong. below is my slq statement. please note that i need to add the sql that will query for the max LockNo, and max Ext. Any help is greatly appreciated. thx! select a.loankey, a.lockrate, a.investor, a.price, a.ext, a.cost, a.lockno, a.lockstatus , CASE WHEN CONVERT(CHAR(8),a.lockdate,10)='12:00:00 AM' THEN NULL ELSE CONVERT(CHAR(8),a.lockdate,10) END as 'LockDate' , CASE WHEN CONVERT(CHAR(8),b.lockExprDt,10)='12:00:00 AM' THEN NULL ELSE CONVERT(CHAR(8),b.lockExprDt,10) END as 'LockExprDt' , Case WHEN CONVERT(CHAR(8),b.lockExprDt,10)>= CONVERT(CHAR(8),GETDATE(),10) THEN datediff(day, CONVERT(CHAR(8),GETDATE(),10), CONVERT(CHAR(8),b.lockExprDt,10)) ELSE NULL END as 'Days' from cfcdb..locktable ainner join (select loankey, max(lockExprDt) as lockExprDtfrom cfcdb..locktablegroup by loankey) bON a.loankey = b.loankey AND a.lockExprDt = b.lockExprDt where a.loankey = @LoanKey
Some T-SQL commands can fail with multiple errors. For example, if you try to disable a primary key constraint using ALTER TABLE t1 NOCHECK CONSTRAINT PK, you will get messages like:
Msg 11415, Level 16, State 1, Line 341 Object 'PK' cannot be disabled or enabled. This action applies only to foreign key and check constraints. Msg 4916, Level 16, State 0, Line 341 Could not enable or disable the constraint. See previous errors.
However, in the code below, only the last message is printed. How can I print all the error messages?
USE tempdb; CREATE TABLE #t1(c1 INT CONSTRAINT PK PRIMARY KEY); BEGIN TRY ALTER TABLE #t1 NOCHECK CONSTRAINT PK; PRINT 'Primary key disabled' END TRY BEGIN CATCH PRINT ERROR_MESSAGE(); END CATCH
I am running SQL Service Migration Assistant for Access 6.0 and I am getting the following error when I attempt 'Refresh from database':
Access Object Collector error: Database
Retrieving the COM class factory for component with CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
This error may be a result of running SSMA as 64-bit application while having only 32-bit connectivity components installed or vice versa. You can run 32-bit SSMA application if you have 32-bit connectivity components or 64-bit SSMA application if you have 64-bit connectivity components, shortcut to both 32-bit and 64-bit SSMA can be found under the Programs menu.
You can also consider updating your connectivity components from [URL] ....
An error occurred while loading database content.
I've clicked on the link above and installed the Access 2010 Runtime that I found there, but that is not working the problem. I'm running Access 2013 (32-bit) on a Windows 8.1 (64-bit).
I get this error: The data types text and text are incompatible in the equal to operator. when trying to execute this query SELECT id FROM users WHERE username=@userName
I have a bundling package that runs about 20 other packages. It has been working fine for a while but a couple of days ago it fail with the following message,
Error 0x800706BE while loading package file "D:PackagesToradSales.dtsx". The remote procedure call failed.
I´m running the SSIS packages in an 64-bit environment.
I'm not sure if this is the correct group for this messages, but here it is anyway.
I have a job that has 3 steps to, periodicly the job errors out on Step 1. Following is the message (from Job History).
--------------------
Executed as user: SMIsqladmin. The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction. [SQLSTATE 42000] (Error 7391) [SQLSTATE 01000] (Error 7312) OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]. [SQLSTATE 01000] (Error 7300). The step failed. --------------------
Can someone please explain this message, I have no idea how to fix it or what the cause is.
I am working on a project to write SSIS packages to update a SQL Server 2005 database with data from an Oracle 10g database. Unfortunately, our development ETL box is running 32 bit Windows Server 2003 while the production ETL box is running 64 bit Itanium Windows Server 2003. We have created SQL Server Agent jobs to execute all of our packages. All of our jobs run without error on the 32 bit development box, but in our preproduction tests they are failing in the 64 bit box.
In my testing, I've found that I can successfully pull character data from Oracle. For example, I can write a package that retrieves the data for the following query:
SELECT 'test' FROM dual
However, the following fails:
SELECT 1 FROM dual
I have logging turned on in my package. When the package fails, I typically see informational messages in the log up to the point of failure, but no actual error event logs are generated. The only error information I have is in the SQL Server Agent job history log, which contains the following:
Executed as user: SERVERNAMESYSTEM. The return value was unknown. The process exit code was -2147483646. The step failed.
I have also tried using the 64 bit version of the DTS Wizard to create a sample package, and observe the same behavior. When I run the DTS Wizard, queries that return numeric data cause DTSWizard.exe to exit and produce the following message in the application event log:
Event Type: Error Event Source: .NET Runtime 2.0 Error Reporting Event Category: None Event ID: 1000 Date: 2/1/2007 Time: 12:36:13 PM User: N/A Computer: SERVERNAME Description: Faulting application dtswizard.exe, version 9.0.2047.0, stamp 443f5e50, faulting module oracore10.dll, version 10.2.0.1, stamp 435841b0, debug? 0, fault address 0x00000000001e4910.Has anyone else experienced similar behavior, and know of a solution aside of wrapping all retrieval of numeric data in to_chars in our Oracle queries?