Retrieving The Error Description In SQL SERVER 2000
Feb 25, 2008
Hello All,
I am stuck at a place in SQL SERVER 2000.
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.
I am storing data as binary in my sql server 2000 database, and now I wanted to retrieve the data- before I move on I just wanted to check whether the data is restored correctly. Is there an easy way for that? A tool for sql 2000 or any other simple options?
Hello, I need some help with installing release copies of SQL05(+SSIS) and VS05 on Win03R2. It is very frustrating when a basic install fails. I€™ve been going round and round with this. M$ support has not been of help yet.
I have a new development box for SQL05/VS05 development, and when I do a clean install of release software from MSDN: Windows Server 2003 R2 ent; SQL Server 2005 dev; Visual Studio 2005 pro I find that the "save to server" in SSIS (and other utilities that save a package) fails with a non-informative message *No Description Found* (see error text below).
To setup this box I install Win03R2 first, promote it to a Active Directory DC (the one and only DC in a test forest), then install VS05 onto the E: drive. Note, I must install VS05 first (before SQL05) so that all components get installed to the RAID5 *E:* drive. If SQL05 is installed first then VS that comes with SQL gets installed on to C: (no way I see to get around this) then the full VS05 pro gets forced to install on the C: drive.
Then I install SQL05 (with everything including SSIS). At this point every thing works fine, packages can be saved ok.
If I then install VS05 again so that all settings of VS05 are as expected of a standard VS05 install (not the SQL version) then the problem with saving packages arises.
If the error message was a little more informative, I might be able to track down the source of the problem. Please help! I have tried a bunch of things - creating credentials, proxies, using the most privileged accounts possible, etc.
Thanks, MikeC
Error from create SSIS package (save to server): ===================================
No description found (Microsoft Visual Studio) ------------------------------ Program Location: at Microsoft.SqlServer.Dts.Runtime.Application.SaveToSqlServerAs(Package package, IDTSEvents events, String packagePath, String serverName, String serverUserName, String serverPassword) at Microsoft.DataTransformationServices.Controls.PackageLocationControl.SavePackage(Package package) at Microsoft.DataTransformationServices.Design.Controls.PackageSaveCopyForm.PackageSaveCopyForm_FormClosing(Object sender, FormClosingEventArgs e)
===================================
Error from copy db wizard: ===================================
No description found (Copy Database Wizard) ------------------------------ Program Location: at Microsoft.SqlServer.Dts.Runtime.Application.SaveToSqlServerAs(Package package, IDTSEvents events, String packagePath, String serverName, String serverUserName, String serverPassword) at Microsoft.SqlServer.Management.CopyDatabaseWizard.PackageCreator.SavePackage()
1. How do I store audio and video files in sql server 2000. 2. Is it possible to store and retrieve audio and video files using t-sql 3. Which is the most efficient way to store and retrieve audio and video files in sql server
I am running dts in Sql Server 2005 management studio from Management, Legacy and data Transformation Services.
Once the dts has run, I get this error message "Error Source : Microsoft Data Transformation Services (DTS) Package Error Description : Error accessing Windows Event Log."
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
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 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?
Hi all, I need to get the error description from the SQL Server in a SP. For ex:
I have one insert statement which is inserting some values in a tabUserMaster table. If user tries to insert any duplicated row then following error is retruned [in Query analyzer].
Server: Msg 2601, Level 14, State 3, Procedure csp_ProvisionUser, Line 70 Cannot insert duplicate key row in object 'CoreUser' with unique index 'IDX_CoreUser_UserName'. The statement has been terminated.
I want to trap this whole message in a variable. How to do this..... :(
I have create a SSIS package, for data export import process, but if my task get failed then i have to send a mail with proper error description as the SSIS generate in output window.
Can any one sugget me to, how can i store that error desciption in my variable.?
HiAll Sql Server errors have a number. Is there any MS or MSDN website or any .net method in which I can see these errors?Thanks a lotswitch (error.Number){case 17:msgErro =....break;case 4060:msgErro = ....break;case 18456:msgErro = .....break;default:msgErro = exSql.Message;break;}
Hi I am running into a problem with getting error description from a OLEDB Destination. I have attached a script component to the Error output and am able to see the error description but this error description is very generic. In my case I have a DFT that inserts data into a table with many foreign key constraints. One of this FK is failing and I need to see that in the error description. Interestingly when you configure the Destination to fail component on error it gives a full description with the FK name that failed. But if you have redirect rows and get the error description using the script component (xxx = ComponentMetaData.GetErrorDescription(errorno)) then it only displays the following error "Data value violates Integrity Constraint". To find out the exact problem I have to run the profiler and then look for the errors. this approach although is fine when you are testing one DFT but we are in the process of migrating from our old system to SQL Server and will have 100's of DFT's.
I know SSIS is somehow able to get to this information because it is displayed when you configure to fail component option.
EVENT ID: 17055 SOURCE: MSSQLServer CATEGORY: Kernel DESCRIPTION: 17122 : initdata: Warning: Could not set working set size to 519104 KB.
I have 1gb of memory. In the SQL server properties, I configure my memory with 512Kb not in dynamic but with determinated memory ! I reserve 1024 for SQL request physical memory.
Do you have any suggestions to resolve it ? My server reboot 3 times per day !!!!
i am using sql server 2000. and have a DTS with script in it. now the script if failing saying timeout expired. The script has db connection and calls stored procedure to fetch data. The records are around 63K but its failing due to timeout expired.
is there a way to increase the timeout in script. i dont want to do any changes to sql server settings.
Hi everybody, is anyway to capture error description into variable?
Example executing insert into tabMaster(col1) values(1) select @@error
will produce output Server: Msg 2627, Level 14, State 1, Line 1 Violation of PRIMARY KEY constraint 'PK_TabMaster'. Cannot insert duplicate key in object 'TabMaster'. The statement has been terminated.
----------- 2627
(1 row(s) affected)
I want to capture " Violation of PRIMARY KEY constraint 'PK_TabMaster'. Cannot insert duplicate key in object 'TabMaster'." and assign it to variable
BOL state:... All other parts of the error, such as its severity, state, and message text containing replacement strings such as object names, are returned only to the application in which they can be processed using the API error handling mechanisms
I'm trying to use the copy database wizard in sql server 2005, but I keep getting an error that says 'No description found.' I read a posting on another forum and someone said to remove the default associated objects for Logins so I unchecked everything except dbo owner and still got the same error. What would you recommend doing?
In process of migrating a database we had developed a SSIS package that loads fairly straight forward data. It was all working fine but now suddenly around 95 % of the data is getting errored out and all i get as a Error Description is that 'No Status is Available'. I know its pretty tough to ask wht can be the reason ? But can someone guide me onto what exactly I look for ? Has some one before got into such thing and did some resolution ?
I have a package the connection of which is defined in a config file. When the source is on SQLserver, the package executes fine but when i change the connection to Oracle then i am getting this error.
TITLE: Microsoft Visual Studio ------------------------------
Error at DMND_PROBS_EXTRACT [Connection manager "DLWSDV18.PM"]: An OLE DB error has occurred. Error code: 0x80040154. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered".
Error at DMND_PROBS_EXTRACT [DEMANDPROBLEMDETAILS [1]]: The AcquireConnection method call to the connection manager "DLWSDV18.PM" failed with error code 0xC0202009.
i m getting the following error while exporting an excel file in SSIS
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft JET Database Engine" Hresult: 0x80004005 Description: "Unspecified error".
When trying to deploy a package using the deploy wizard, following error is received: ===================================Could not save the package "H:SSISRSlogRSExecutionLog_UpdateinDeploymentRSExecutionLog_Update.dtsx" to SQL Server "xxxxxxxxxxxxxxxxxxxxx". (Package Installation Wizard)===================================No description found------------------------------Program Location: at Microsoft.SqlServer.Dts.Runtime.Application.SaveToSqlServer(Package package, IDTSEvents events, String serverName, String serverUserName, String serverPassword) at Microsoft.SqlServer.Dts.Deployment.DtsInstaller.SavePackageToSqlServer(WizardInputs wizardInputs, String packagePassword, Boolean bUseSeverEncryption, String serverName, String userName, String password, String packageFilePath, List`1 configFileNames) at Microsoft.SqlServer.Dts.Deployment.DtsInstaller.InstallPackagesToSqlServer(WizardInputs wizardInputs)
I want to implement error handling my SSIS package. for this I am putting an execute SQL task for a container(which contains different interlinked tasks) in event handler.
Say my first task fails in this container.Immedaitely my sql task which inserts the error code and description should exceute in the event handler and populate my error table in OLAP database.
I'm pretty new in SSIS and i have some problems with error log. I want to get detailled error description in a script component of a dataflow. for the moment I use thooses lines
and for unique constraints on a sql table I have this error : The data value violates integrity constraints.
For the same error, if i use an event handler on error, i have more row and the first of them is more explicit (Variable System::ErrorDescription)
An OLE DB error has occurred. Error code: 0x80040E2F. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E2F Description: "The statement has been terminated.". An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E2F Description: "Cannot insert duplicate key row in object 'dbo.dimDepot' with unique index 'IX_dimDepot'.".
Is that possible to have a so detailled error text in a script componnent of a data flow? If yes, How? Or if i use error event how can authorize the dataflow go ahead even if there is error.
AFAIK I don't think so. Let me know if possible and how.
I'm talking about a SSIS package which owns a Execute DTS 2000 Package Task and from there it calls a DTS 2000. Programatically, from our VB .Net front-end app we're seeing only SSIS events (when validate and execute methods are called) and any kind of information is provided from RCW proxy (I suppose that internally it gonna be created in order to send messages between managed and unmanaged code).
When a task inside our DTS 2000 fails we're awaring by means a "generic message" such this:
Error: System.Runtime.InteropServices.COMException (0x80040427): Execution was canceled by user. at DTS.PackageClass.Execute() at Microsoft.SqlServer.Dts.Tasks.Exec80PackageTask.Exec80PackageTask.ExecuteThread()
I'm trying to let certain users execute an SSIS package through an SP in SQL.
I've set up a proxy account for xp_cmdshell that the other users will use to execute dtexec with, but i get this message:
Could not load package "File SystemCODA_Actuals" because of error 0x80070005. Description: Access to the path 'C:Program FilesMicrosoft SQL Server90DTSPackagesCODA_Actuals.dtsx' is denied.
When i log onto the server with the proxy account, i can navigate to that folder and open the package.
When try to execute it from the command shell: dtexec /DTS "File SystemCODA_Actuals" /Decrypt "password" /Reporting E /SET Package.Variables[User::JobId].Value;25'
i get the same message. How come? How do i fix this? I've read somewhere that i should grant read to the package store to that user , how do i do that? Can't find that option in the tools or manuals.
I have ran into the same problem ... Importing from Access into SQL 2005 using SSIS and get the error:
[Connection manager "SourceConnectionOLEDB"] Error: An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft JET Database Engine" Hresult: 0x80004005 Description: "Unspecified error".