Php - Keep Sql Connection Open For Iterating Many Requests?
Jan 26, 2011
this is general to any operation calling an SQL server, or anything requiring an open connection at that.Say I have anywhere from 20 to 1000 Select calls to make for each item in data being looped. For each step, I'll select from sql, store data locally in a struct, then proceed. This is not a very expensive call, so should I keep the connection open for the entire loop? Or should I open and close every step? How expensive in run time is opening a connection? I would think it'd be better to keep the connection open, but would like to get the correct response for this.
I'm using Visual Studio 2008, and my database is SQL Server 2000.
I want to add a connection to the Server Explorer in VS. The Data source is Microsoft SQL Server (SqlClient). After entering in all my information and I click Test Connection, it is successful.
But when I click OK, I get the error:
Unable to add data connection. ExecuteScalar requires an open and available connection. The connection's current state is closed.
I previously used a datasource and a connection string to connect to my database on sql server and all orked fine. The connection string was saved in my web.config file and is: ....
I deployed my MVC app to IIS 7.0 and I keep getting the following error; ExecuteNonQuery requires an open and available Connection. The connection's current state is closed I dont get this with the app locally on my machine. Where could this error be occurring??
I have problems connecting to my database server. The database server is not local, I am connected via its IP address. It works fine in my development machine. After publishing the website to my server, it can not connect to my database server. A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)Why can't my publish server connect to the database server, whereas it works fine through the development machine?
When should i open and close the database connection.and which are best data classes (for e.g dataset, datatable etc) should i use when connection is open or close.
What's the simplest and most effective way to selectively redirect HTTP requests to your ASP.NET page to its HTTPS equivalent? For example, if my page site URL is [URL], I want to redirect some (or all) page requests to [URL] What's the easiest way to do that?
This is regarding ASP.Net (VB) 2.0 and SQL Server 2008. My project's (there is only one in my solution) has a "Start Action" set to a "Specific Page" (..FormsfrmMain.aspx). Occasionally (though not always) a large number of connections (30+) will be opened prior to the frmMain.PreInit event. These connections stay open for quite some time. I am closing all of my connections with extreme prejudice. In my "finally" clause of my try...catch I have myconnection.close. Immediately after the "End Try" I have myconnection.dispose (redundant, I know). I have accounted for all connections. I placed a breakpoint on frmMain.PreInit and then (sometimes) a large number of connections (used SSMS to run sp_who and sp_who2) will have just opened.What would open a large number of connections prior to the starting page's preinit event? I am closing (and then disposing) all of my connections. I thought that I must be missing a myconnection.close in the "finally" clause, but I have looked repeatedly and cannot find anywhere that a connection is open and then not closed. Also, I do not believe that I have even opened a connection prior to the frmMain's preinit event.
I have an application that takes a long time to open odbc connections (like 20 sec) also takes forever using arcmap and arcsde but when I try the connection on the odbc data source administrator, it tests it really fast. Does anyone have any idea of what my be causing this? btw the application works fine in another computer with another database
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Description:An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
I wrote a small socket client application talking to my asp.net server application.
On the asp.net side, I created a IHttpHandler. I want to send data back and forth on one HTTP request.
I tried the following code which run an infinite loop inside function ProcessRequest(). The client side opens a socket connection and send HTTP POST request.
I am not sure how asp.net work. In HTTP POST I have to specify Content-Length, I tried a small value, like 20, then asp.net handler can only get 20 bytes in the inputstream. I tried to use 4096000 bytes(close to the maximum IIS allowed), then the inputstream cannot get anything, it seems IIS is waiting for all data(4096000) to come from client side before it gives the handler a chance to read from the socket.
public class DeviceDataHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { try { Stream inputstream = context.Request.InputStream; Stream outputstream = context.Response.OutputStream; /loop forever until exception is thrown while (true) { ProcessData(inputstream, outputstream); } } catch (Exception ex) { ZenLog.logError("DeviceConnector exception: " + ex.Message); } } public bool IsReusable { get { return true; } } }
I have an application with a few dbml files to connect to several sql servers in order to import data from one to another using Linq to SQL.
There are 2 connection strings with integrated security and in one I provide user ID and password.
It all works great in the development workstation. I've then wrapped the dll project and deployed the asp.net application to a test server. Then, when I tried to run the application to import the data, I got a connection exception:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
I figured out after some debugging the problem is with the DataContext whose connection string is the one I provide user ID and password. Now, the funny part is that the same connection string works if I create a udl file and test it. And again the same connection string works with my development workstation.
I've a web form named contest, where users are to register for it. When the register is clicked on, details entered by the user will be saved into the database, but before it will check if the user has already participated in the contest (using AJAX). If the user has already participated, the button will be disabled. The problem is there is an error when I click on the register button.
The error:
ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.
We are currently migrating our test databases to a new server and I am switching one of our sites over to use them. When running the application from my development box it hits the database just fine. However when I compile and push the code out to our test server and try to use the same datbase I get the ExecuteNonQuery requires an open and available Connection. The connection's current state is closed error. I cannot seem to figure out why. Also when I point the site at our old test server it works just fine.
The oddity is, that the same website files, copied and pasted, connection string altered to point to the production/live db, published to the httpdocs folder works fine BUT the same web files, copied and pasted, connection string altered to poin to the dev db, published to the subdomains/dev fodler causes the error below:
------ Build started: Project: AHN, Configuration: Debug Any CPU ------ AHN -> P:Web_DevelopmentxxxDEVinxxx.dll ------ Publish started: Project: xxx, Configuration: Debug Any CPU ------ Connecting to ftp://xxx.co.uk/subdomains/dev/httpdocs... Transformed Web.config using Web.Debug.config into objDebugTransformWebConfig ransformedWeb.config. Copying all files to temporary location below for package/publish: objDebugPackagePackageTmp. Deleting existing files... An error occured trying to enumerate the contents of folder ''. Can't open data connection (425). ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ========== ========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
When I asked the hoster whats going on, he obsiously that its not his fold because the publishing is working for the non-subdomain (dev) site. Moreoever I deleted and recreated the /dev subdomain but the error is the same.
I was wondering about something. I'm supporting a .NET C# application which has a number of database connections declared locally as IDbConnection with MS SQL Server and NHibernate. These connections are declared locally and not explicitly closed after a specific operation is performed. Are these connections automatically closed after the local method is executed, or could these connections be floating around somewhere? We're having semaphore max out problems, and I'm trying to see if this may be the culprit. I'm doubtful, as I believe these connections would automatically close, but thought I'd throw out hte possibility.