Preferred Method To Catch Specific OleDB Error?
Jan 4, 2010
- I have a situation in which I must execute a dynamically built stored procedure against tables that may, or may not be in the database. The data retrieved is then shunted to a VB.Net backed ASP based report page. By design, if the tables are not present in the database, the relevant data is automatically hidden on the report page. Currently, I'm doing this by checking for the inevitable error, and hiding the div in the catch block. A bit kludgy, but it worked. I can't include the VB code-behind, but the relevant stored procedure is included below.
However, a problem with this method was recently brought to my attention when, for no apparent reason, the div was being hidden even though the proper data was available. As it turned out, the user trying to select the table in the dynamic SQL call didn't have the proper select permissions, an easy enough fix once I could track it down. So, two fold question. First and foremost - is there a better way to check for a missing table than through catching the error in the VB.Net codebehind? All things considered, I'd rather save the error checking for an actual error. Secondly, is there a preferred method to squirrel out a particular OLE DB error out of the general object caught by the try->catch block other than just checking the actual stack trace string?
SQL Query - The main gist of the code is that, due to the design of the database, I have to determine the name of the actual table being targeted manually. The database records jobs in a single table, but each job also gets its own table for processing data on the items processed in that job, and it's data from those tables I have to retrieve. Absolutely nothing I can do about this setup, unfortunately.
DECLARE @sql NVarChar(Max),
@params NVarChar(Max),
@where NVarChar(Max)
-- Retained for live testing of stored procedure.
-- DECLARE @Table NvarChar(255) SET @Table = N'tblMSGExportMessage_10000'
-- DECLARE @AcctID Integer SET @AcctID = 10000
-- DECLARE @Type Integer SET @Type = 0 -- 0 = Errors only, 1 = All Messages
-- DECLARE @Count Integer
-- Sets our parameters for our two dynamic SQL calls.
SELECT @params = N'@MsgExportAccount INT, @cnt INT OUTPUT'
-- Sets our where clause dependent upon whether we want all results or just errors............................
View 1 Replies
Similar Messages:
Nov 9, 2010
I have seen 2 methods to handle error in project. One is using try catch in every method and another is using custom page and error log file .I know both method. Which one is the best method?
View 9 Replies
Jan 24, 2010
I'm planning to set up an online store for a friend, unfortunately his product line introduces some demands most out-of-the-box solutions don't fit. I'm hoping somebody here has had some experiences with an open source package that they can recommend. The specific issue is that the products are going to number in the hundreds of thousands. Since the type of products have a lot of clearly defined specifics, searching and sorting can be (and needs to be) very granular and efficient. For this reason, the primary requirement is that I replace the product and search-related parts of the app, but only those parts. I'm hoping that there's an ecommerce solution with the product segment abstracted so that I can change the database tables, product display code, search code, and create the obvious code to interact with the database.
I'd prefer something that's built on ASP.Net MVC since it'll play nicely with some extensions I am considering for the future but I'd consider WebForms. I'd also like it to be something that functions on GoDaddy's Hosting, though I'm not optimistic, I just got the account before I discovered how terrible of an ASP.Net web host they are. And finally I need something that's reasonably mature as I don't have time up front to deal with a system that hasn't been tested, and the majority of issues worked through already.
View 2 Replies
Jan 29, 2010
I am using forms authentication and authorization through roleManager. I have two Roles - "Customers" and "Employees". The redirection to the default page for the "Customers" role is working fine, but I get an oledb error stating that one or more parameters are not being passed when I redirect a user from the "Employees" role. The following is the code in login.aspx that handles the authentication of the user:
If myReader.Read() Then ' We have a match
If myReader(1) Then ' This is true if an Employee and false otherwise
If Not Roles.IsUserInRole(logInUser.UserName, "Employees") Then
Roles.AddUserToRole(logInUser.UserName, "Employees")
End If
ElseIf Not Roles.IsUserInRole(logInUser.UserName, "Customers") Then
Roles.AddUserToRole(logInUser.UserName, "Customers")
End If
FormsAuthentication.RedirectFromLoginPage(logInUser.UserName, logInUser.RememberMeSet)
Else
Response.Write("Invalid credentials")
End If............................................
View 1 Replies
Dec 31, 2010
I have a couple of questions on exception handling in .net: 1- Why do we have to catch specific exceptions other than the reason of displaying a particular error to the user? What if we wanted to always display a generic error to the user and not give him much details, would it be okay to catch only generic xceptions?
2- Is throwing exceptions from the data access layer to the UI layer best practice, or is it recommended to return a string or perhaps a boolean values from the data access layer to the UI layer?
View 15 Replies
May 23, 2010
How/Can I Set the try, catch statment to catch a specific Error. For example i am getting the following error:
Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '='., [SqlException (0x80131904): Incorrect syntax near '='.]
Basicly The = is part of my SQL string which points to a table that currently doesent exist. I want something like catch ex as SqlException (0x80131904) or catch ex as SqlException = "0x80131904" or even catch ex as System.Data.SqlClient.SqlException = "Incorrect syntax near '='." I just want something so i can put "table doesnt exist" in the error message without having to use:
catch ex as System.Data.SqlClient.SqlException
As i have other code on my page that could result in a different type of sqlExeption.
View 4 Replies
Oct 12, 2010
Using VB, VS 2010, I am wanting a remote web app to send me an e-mail when it finds an error using the try catch. What is the best way to do that?
View 4 Replies
Sep 28, 2010
I'm designing an ASP.NET 4.0 Web application where administrators may create an auction with an expiration. The expiration time would be stored in a database. How can I ensure that the auction ends at the predetermined time, considering the fact that an application instance may not be running when it is time? The application will be hosted with IIS7. I am considering Windows service, but I am wondering what other options are out there.
View 3 Replies
Feb 7, 2010
Here is the code copied from [URL] In asp.net code behind, I use try-catch try to catch any error but never catch it. In SQL database, if I rename Employees to Employeesx or change column DepartmentID to DepartmentIDx, record will not be deleted (it is right) without any error (it is wrong, suppose catch an error).
CREATE PROCEDURE DeleteDepartment
(
@DepartmentID int
)
AS
BEGIN TRANSACTION
DELETE FROM Employees
WHERE DepartmentID = @DepartmentID
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR ('Error', 16, 1)
RETURN
END
DELETE FROM Departments
WHERE DepartmentID = @DepartmentID
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR ('Error', 16, 1)
RETURN
END
OMMIT
View 2 Replies
Jun 6, 2010
Error:
Executed as user: MACSTEELUSA.COMsa. ...9.00.3042.00 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 8:00:17 PM Error: 2010-06-02 20:00:18.56 Code: 0xC0202009 Source: CRM_ORACLE_ARSUMMARY Connection manager "SourceConnectionOLEDB" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft OLE DB Provider for Oracle" Hresult: 0x80004005 Description: "Oracle client
and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation. Provider is unable to function until these components are installed.". End Error Error: 2010-06-02 20:00:18.58 Code: 0xC020801C Source: Data Flow Task Source - Query [1] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireCon... The package execution fa... The step failed.
Tasks Taken:Went to this folder checked for tnsnames.ora file but it is in good shape.
C:ORACLEproduct11.2.0client_1
etworkadmin
View 2 Replies
Mar 24, 2011
I'm uploading an Excel file and then reading data using oledb connection in asp.net but I'm getting the following error: The Microsoft Jet database engine cannot open the file ''. It is already opened exclusively by another user, or you need permission to view its data.
Dim ocmd As New OleDbCommand("select * from [Sheet1$]", conn)
Line 12: conn.Open()
Line 13: Dim odr As OleDbDataReader = ocmd.ExecuteReader()
conn.open() line is red highlighted for error.
The excel file is uploaded successfully and present in the folder.
View 1 Replies
Dec 3, 2010
I got an error about OleDB. I just want my excel file import to Gridview. Here is my code.
string connstr =
"Provider=Microsoft.Jet.Oledb.4.0;Data
Source=C:a.xls;Extended
Properties=Excel 8.0;HDR=YES;IMEX=1";
OleDbConnection conn = new OleDbConnection(connstr);
string strSQL = "Select * from [Sheet1$]";
OleDbCommand cmd = new OleDbCommand(strSQL, conn);
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
When i build project there is no error but when i run this project i got an error like this:
System.ArgumentException:Format of the
initialization string does not conform
to specification starting at index 47.
Line 21: string connstr =
"Provider=Microsoft.Jet.Oledb.4.0;Data
Source=C:a.xls;Extended
Properties=Excel 8.0;HDR=YES;IMEX=1";
Line 22: Line 23:
OleDbConnection conn = new
OleDbConnection(connstr);
How can i fix this?
View 1 Replies
Jul 9, 2010
I am using AS 400 OLEDB with .NET. It uses '?' instead of '@param to bind parameters with a commandNow there is a situation where the command is like
SELECT ...
FROM
(SELECT ...
ROW_NUMBER() OVER(ORDER BY ColumnName) as RowNum
FROM Employees e
) as DerivedTableName
WHERE RowNum BETWEEN @startRowIndex AND (@startRowIndex + @maximumRows) - 1
Now my command becomes
SELECT ...
FROM
[code]...
View 1 Replies
Sep 13, 2010
Whats this error is and whats the solution. Multiple-step OLEDB Operation Generated Error.
View 5 Replies
Mar 21, 2011
, ive written this website and it works perfectly offline
But when i upload it to my webhost i get the folowing error:
Code:
Why do I get that? Am i missing something in my connection string or what can it be?
View 1 Replies
Feb 18, 2011
i want to display the errors in a seprate page so in catch block i redirected the execption to that page, in all the pages it's working fine, but if get any error in my db retuning datas means, im' getting redirect loop in browers itself not redirecting to the page i needed. how to fix this??
View 5 Replies
Jan 29, 2010
In my SP (Sql Server 2005) I'm raising an error usingRaiserror ('No Records Fetched' , 16 ,1)I want to catch this particular error in ASP.NET.. how do I do it ?
View 2 Replies
Apr 13, 2010
I am creating an Asp.net web site which will support dynamic data. When I am creating a dynamic web site from Scratch (from template in VS) all is working fine. But when I am trying to add dynamic entity (.edmx) file and running the application I am getting following error
"The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'. "
View 2 Replies
Apr 23, 2010
Why would my try-catch block still be throwing an error when it's handled?
MemoryStream.Seek(6 * StartOffset, 0)
_MemoryStream.Read(_Buffer, 0, 6)
Catch ex As IOException
// Handle Error
End Try
View 8 Replies
Feb 14, 2011
I have the code below which I now need to figure out how to not only display but also email it all to my email, this way should any user encounter a error we get to see exactly what is it.
Catch ex As Exception,lblInformation.Text = ("<h4>Unable to save data in database</h4>" + vbNewLine + "The error was '" + ex.Message + "'" + vbNewLine + vbNewLine + "The SQL Command which falied was:" + vbNewLine + "<strong>" + mySQL + "</strong>" + vbNewLine + "Please contact the Service Desk to report this error.").Replace(vbNewLine, "<br />" + vbNewLine) [code]...
in a new line above "booInsertedRecord = False" and then creating a new "Dim objEMail New MailMessage()" but then realised that won't work because it's msg is defined in the catch so not to sure what steps next to take.It's been a while since I used VB and I didn't need to use anything like this
Edit - @tzup ToString() shows
[The error was 'System.Data.SqlClient.SqlException: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.The statement has been terminated.at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
View 4 Replies
Jul 22, 2010
i have the following code which show error from a string when there is a error
is there any way that i can make this in catch block?
main()
{
try
{
if (a==1)[code].....
Like below:i have the following code which show error from a string when there is a error
is there any way that i can make this in catch block?
main()
{
try[code]....
View 6 Replies
Oct 19, 2010
Im using Google Analytics Dashboard Control which are available at [URL] Issue is its working fine when im connected to internet but if im using it on a machine that doesnt have internet access then it shows Server Error in '/' Application. The remote name could not be resolved: '[URL]' I want to catch this exception and shows a friendly message to user. Im calling these dashboard control on my View in an iframe like this <iframe src="../../GoogleAnalytics/Visitor.aspx" height="275"></iframe> and if i place try catch in Visitor.aspx page it doesnot catch the exception. How should i catch this exception, Im using asp.net mvc 2 with c#
View 3 Replies
Feb 11, 2011
Is there a way to catch a database exception and then redirect to an error page? I have a data access class that I use to make a sql connection and then functions that call it to execute my SQL commands. My problem is that if my database is not available I cannot catch that error. Here is the code I am using in my class:
Protected Function GetConnection() As SqlConnection
Dim ret_conn As SqlConnection
ret_conn = New SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("EUCNET00617").ToString())
ret_conn.Open()
GetConnection = ret_conn
End Function
View 3 Replies
Feb 24, 2011
First I found that you can catch it and log it inside a catch, but this doesn't send an email.
Then I found out about using the Error Signal class. That worked, however what wasn't apparent from reading, is that it treats the error like normal, so when I signal the error it goes to the custom error page still, I don't want that to happen. What I want to do is catch that error, log it, send the email, but stay on the page the error happened so I can provide special feedback. I do not want it go to the custom error page.
EDIT: This is what I have and it redirects me to the custom error page.
Try
smtpClient.Send(mailMessage)
Catch smtpEx As SmtpException
errorSignal.FromCurrentContext().Raise(smtpEx)
Catch ex As Exception
errorSignal.FromCurrentContext().Raise(ex)
End Try
Edit: Posting my web.config sections that involve Elmah (besides the connection string hah)
And there is nothing in my Global.asax file involving Elmah.
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<elmah>
<security allowRemoteAccess="1" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="Elmah.Sql" applicationName="Web Main" />
<errorMail from="xxx" to="xxx" cc="xxx" subject="main website error" async="true" smtpPort="25" smtpServer="xxx" userName="xxx" password="xxx" />
<errorFilter>
<test>
<and>
<equal binding="HttpStatusCode" value="404" type="Int32" />
<regex binding="FilterSourceType.Name" pattern="mail" />
</and>
</test>
</errorFilter>
</elmah>
<httpHandlers>
<add verb="POST,GET,HEAD" path="errors/admin/elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
</modules>
<handlers>
<add name="Elmah" path="elmah/admin/elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" prefixLanguageFilePath="" path="/errors/error.asp" responseMode="ExecuteURL" />
<error statusCode="404" prefixLanguageFilePath="" path="/global/404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
<location path="errors/admin/elmah.axd">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
View 2 Replies
Sep 7, 2010
I come from a VB environment. I'm looking at 2 different file extensions. If one doesn't exist look at the next. I was hoping to use the try/catch function. I can get it to find the first extension but not the second. Here is my the try/catch part of code:
try
{
string website = xAll;
Response.Redirect(website);
}
catch (FileNotFoundException)
{
string website1 = xAll1;
Response.Redirect(website1);
}
The error dialog that pops up shows Connection Error in the title and a yellow exclamation point with File Not Found! I thought the FileNotFoundException would work(?).
View 2 Replies