Moving asp site to new windows server, ADOBD connection error - asp-classic

Hi I have been tasked with moving an asp application to a new server, however I receive the following error:
ADODB.Connection error '800a0e78'
Operation is not allowed when the object is closed.
I am not sure what i'm missing as I don't have much experience with asp. I have registered a dll file with windows moved the DB accross and scoured every forum I can find to look for similar issues, however they all say that there is a coding issue. The site has been running smoothly for 18 months on another server so I don't see how there could be any problem with the code. Thanks in advance.

The most likely cause if it was working previously, is that your connection isn't set up correctly. Perhaps the database is in a different location, perhaps it's using different credentials, perhaps a provider is missing, perhaps an ODBC connection is missing.
The reason you are seeing "operation is not allowed when the object is closed" is likely because there is some "on error resume" type code where your db connection code exists, which is transparently swallowing the connection errors. So the code continues thinking that the connection is open.

Related

.Net application loses connection to database when multiple users are logged in

I have this .net application where each client has their own database and thus their own connection string. The issue that I run into is that when multiple clients are logged in to the application connection to the databases is lost which will give an internal server error (or something similar, depending on the process).
I am not sure what is causing this, whether I should increase the Max Pool size or whether I should try something else.
I have put the connection.open() inside a using block, but that did not solve the issue.
I have tried to find a suitable solution, but have had no luck, so I hope the braintrust can help me. Many thanks

ORA-22337: the type of accessed object has been evolved - in application

Setting: ASP.Net application with Oracle backend, we utilize User Defined Types (UDTs) and use ODP.Net to communicate them between the front and back-ends.
Problem: I had to alter one of my UDTs attribute length, once I did that and tested in backend it worked fine, but when I run my site I keep getting the ORA-22337 error (in subject line)!!
You will not find much if you research this problem online, other than the useless Oracle error documentation you will not find anything helpful. The Oracle documentation says to close and re-open the connection, but that does not apply to my scenario
I already solved the problem by dropping and recreating the UDTs and NTs, but this is inefficient to have to do every time I need to modify one of my core UDTs, any ideas how to solve this without dropping and recreating everything?
If the error info says "Close and reopen the connection" as the solution and you are using a OracleConnection which has a connection pool in it, then simply Close()ing the connection is not good enough. It will just go back to the pool still open and when you "reconnnect" you will just get it back again. You'll need to Close all open connections and then call ClearPool() to make sure that all old connections in the pool are removed.

Connection between java and Flex using blazeds returns error #2048

I have been developing an application(a website to be more precise) which consists of a flex front end which is constantly sending and receiving data from the back end which is programmed in java. The connection between the two components is being done through blazeds. This worked fine while I was running it locally, however when I uploaded both sides of the application to a tomcat server(online) the following error is being returned when a connection between the components should occur:
Channel.Security.Error error Error #2048
url:'http://localhost:8080/blazeds/messagebroker/amf'
I have read around about this error and many seem to getting this error when making connections between different servers, unlike here, where the connection is occurring within the same server.
Could any one enlighten me as to what I can do in order to solve this issue.
Thanks In advance
I'm assuming that you are no longer running on localhost. That error is indeed saying that your flex app is trying to contact your services from a different domain than the one it was loaded from. How do you have things configured in your services-config.xml file? The endpoint url should be something like...
http://{server.name}:{server.port}/{context.root}/messagebroker/amf
...with the brackets. It will then substitute the values that you are running from, rather than something hard coded.

Refreshing page with runtime error

I wonder if refreshing page with runtime error will overload the web server. For example I did refreshed domain.com/default.asp?id=99999999999999999999999999999999999999999 page which generates following error:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'Cint'
/default.asp, line 9
This caused server not respond for all sites hosted on it or my IP was blocked for some time by the firewall.
It depends on what the rest of the code around that error looks like (which you can't see). You won't overload the server in the sense of DoS too many requests (flood) since those would be handled before the request gets to IIS to process on the server side.
But if the code where the page breaks does other processing based on that value it could crash IIS or the app pool. It could also be stuck waiting on a passed DB call and has to timeout before the server responds. It will either time out or reset itself and that is when you see the site functional again.
Either way the code or the website/server should be setup better to alleviate the problem. Hopefully the admins will figure that out when they investigate why the site keeps crashing due to your web hits ;)
Issue seems to be type casting. Try below steps.
Add this line on top of the page where you get this error:
"Option Explicit"
You can get more meaning ful error message:
This link provide details for each error message.

Anybody know why SQL Server 2005 throws "'SQLOLEDB' failed with no error message available, result code: E_FAIL(0x80004005). "?

We've got a web system running SQL Server 2005 for the back end, and ASP.Net for the front end (using .net 2.0).
Every now and then, the system barfs out the error in the title: 'SQLOLEDB' failed with no error message available, result code: E_FAIL(0x80004005).
The web system runs just fine 24/7, and then every now and then will toss this out on a select or some such. I've tried re-running the exact select that throws the error, but (of course) it works fine when I do it. And, to answer the obvious follow-up question, no we haven't done any code changes or upgrades to speak of lately.
Has anyone ever run into this before? Nosing around on google seems to only turn up situations where Access has some kind of file issue (permissions, missing data file, etc.)
Firstly, it's probably not SQL Server throwing out the error, and if it is, it's probably not while running the SQL statement itself, but if it is, it's almost certainly going to be peculiar to a login that doesn't have permissions, not the SQL command itself.
The 0x80004005 error is a general permissions failure, and it can occur in just about anything, but it's most likely to be in another layer.
I've seen it in authentication when the account the application is running under does not have access to the network to open a connection to the SQL Server. The SQL Server never even sees the request, but the client will say that the server cannot be found.
If it's intermittent, that could point to an intermittent domain controller issue, but that would depend on how your Windows Servers and Active Directory are set up, and how your application is connecting to SQL Server.
To solve this one, your netadmins will need to really know their Windows logging functionality and track it down for you.

Resources