Sleeping /awaiting Command Blocks Other Transactions?
Dec 6, 2010
I have a big web application on asp.net 2.0.Usere open object editor there and makes some changes. They can not open the same object at one time.After they press "save" btn all changes process to save on server via postback.I am using transaction for save. There are a lot of procedures, checks and others to be done before saving operation is OK.
using (SqlConnection con = .........)
{
SqlTransaction trans = null;
try [code]...
For me this code is quite safe.
But periodicaly happens:one process from this web application on saving operation on mssql became "sleeping/awaiting" and others processes called by other users became locked by this process and organiza a queue.
One of them threw timeout excetion.....but others are waiting.So, my question is: does my code have some bad operation that allows command to became sleeping/awaiting?
I want to issue an INSERT command for an SQL Server table using DataAdapter without first issuing a SELECT command. Could anybody send me lines of code to handle this? Also how do i manage INSERT into selective table columns (I have 10 columns but i only want to update 2 of them)?
I am working with odbcCommand class, in one case I got error that QueryTimeout Expired. Even though this SP is taking only 3-4 secs in DB to execute these specific values, When I set the CommandTimeout=0, then it worked fine.
1)Is it necessary to always use this property while working with Command Class.
2)If it is not suggested to use, but still if I use it then how it will impact the performance.
Below is my code sample.
OdbcConnection conObj; OdbcCommand cmdObj; OdbcDataAdapter daObj = new OdbcDataAdapter(); public DataTable GetIFAContractNoteData(string RecipientIDIFACN, DateTime BatchDateIFACN, int TransmittalReportIDIFACN) { conObj = new OdbcConnection(GlobalVariables.strDsnName + ";" + GlobalVariables.strDsnDataBase + ";" + GlobalVariables.strDsnUserID + ";" + GlobalVariables.strDsnPassword);
I have two databound controls on one page. GridView, DropDownList. My page is crashing with a SQL Transaction deadlock victim error. I would like to capture this error, and attempt to re-databind the controls. My first thought was to handle an event on the controls that allow me to do this, but I don't see which event to handle. I couldn't search any answers. Where should I begin?
I am a web developer handling back end frond end both.My question is that which transaction should I use to maintain ACID. whether transactions in Sql Server or transaction in Ado.net?
Are there any transactions around multiple webservice calls.Let me start with a commonly used example -- the travel agency. A customer intends to create a travel plan through an online travel agency. To do this, the online travel application calls the following three Web services:
These three services are available from three separate vendors. If any one of these three services fails, the customer does not wish to proceed with the transaction (again, either all three services must succeed or none at all).My language programming is Asp.net c#.
One is adding Userdetails(Fn Name : AddUserDtls) and another one adding address details(Fn name : AddAddresDtls) based on UserName which will get added after execution of first method ie AddUserDtls.
Problem I am facing is :
I have a single transaction and in that I have all the methods.
After the execution of first method,with out commiting i will go to second method.
and if any error occurs in second method.
I will rollback everything including the changes made by first method also.
Here one issue is there.
Since I am not committing the changes made by first method,
While I am executing the second method I am getting error that 'No user Name exists'
I understood that if we commit the transaction before the second method starts ,it will solve the issue.
But then it creates another problem.If some problem araise in the second method,then I cannot rollback the changes made by first method since it aleready commited.
I am trying to delete three related objects on one submit. Delete fails on one of the child objects, because of foreign key contraint with another table, It deletes one (the parent) but not the two child objects. All in one SubmitChanges(). I even used the TransactionScope, still same thing. So here is the scenario:
I have an object called Page which has a collection of objects called Webinars. There is another object Called Product which is one to one with Webinar.
i got an requirement where in the user submits the database scripts,stored procedures ,triggers ,functions or packages.i have create those in the database .if it throws an error it must be roll backed.how can i achieve this.
I've recently started working in ASP.NET and RDBMS.I'm making a test form where I can do basic add,update,delete operations.I'm using OracleDataClient to do the DB operations.I was able to populate a listbox using OracleDataAdapter.
Now after clicking on update button,I intend to Update in DB.I've Dataadapter with it's update property.But the update query is not happening.The examples I saw over net all have Select command before Update.Is it actually like that or am I missing some point.
How does Oracle DataClient work with Insert,Update,Delete Commands.
How do I ensure and enforce that all write operations to my MS SQL Server DB are transactions-based?
The reason I want to do this is that the DB contains financial account data and operations that fail halfway through some set of changes should not be able to mess up the database by mistake or by crashing.
The application is written in ASP.NET C#.
Edit:
There is a DAL but it does not (yet) require transactions for changes.We wrote the DAL ourselves. We did not use ORM.
I know how to perform one transaction from ASP.NET.
I want to ensure that all changes are made in transaction form so that if the application throws some exception in the middle, there will be no change to the database.
I have a DataSet that I have added to my project where I can Insert and Add records using the Add Query function in Visual Studio 2010, however I want to add transactions to this, I have found a few examples but cannot seem to find one that works with these.
I know I need to use the SQLClient.SQLTransaction Class somehow. I used the Add New Data Source Wizard and added the Tables/View/Functions I need, I just need an example using this process such as How to get the DataConnection my DataSet has used. Assuming all options have been set in the wizard and I am only using the pre-defined adapters and options asked for in this wizard, how to I add the Transaction logic to my Database.
For example I have a DataSet called ProductDataSet with the XSD created for this, I have then added my Stock table as a Datasource and Added an AddStock method with a wizard, this also if a new item calls an AddItem method, if either of these fails I want to rollback the AddItem and AddStock in this case.
I have a requirement to log all/most forms authentication transactions that take place within my page. For example, if someone is kicked out because of forms authentication, I'd like to get their username, time when kicked off, and where this happened. Is there a good way to do this. Better yet, has anyone done this already and is willing to share some code or post a link?
I need to modifiy my web applicaiton without affecting current transaction.
i will be having some modification in almost all days.
Right now " i stop my application and update the necessary files and strat the application again". Means i am loosing all transaction in between that modification.
Is there any way i can update my changes without affecting transaction.
I am building an aspx page using c# and Visual Studio 2008. can anyone help to answer this question,Q1. When a page has add/edi/delete features by calling stored procedure or sql inline code (within the aspx page) It may cause issues in this senario:two users accessing the same page, lets say they both at the same time are editing the same record. a third user is only viewing that same record. how can I control such senario who get to make the change first.Q2. if the thrid user accessed the record after the first user change the records, but before the second user change the record. is he going to see the origional record or the updated record done by the second user.Q3. if the third user opened the record to view it before the first user make any changes, so he is opening a grid view , lets say the first user make a change. The third user will still see the old record...right, so he is not viewing updated record.how would he know that the record he is viewing is not current?If anyone can explain the senario and also would appreciate if you have any documentation or URL reference to searh .
Made my first application in aspx, and connect to mysql, the issue is how concurrency control (transactions), ie that when users log dam not, nor information loss...
I've been trying to get into TDD but am hitting some stumbling blocks. I suppose a simplified example would be the best way to explain. My first assumption is that I start from the top. I want a web page that displays a list of categories say. So I write a test for a CategoryController whose Index action should return this list:-
Code:
[code]....
Bingo our test will pass. Now my problem here is how does TDD drive us beyond this point? Our tests have passed and it fulfills out requirements but of course we know that a fully working app would need say an ICategoryService to be passed into the Controller and the controller would use this to retrieve the categories.
I am looking for an accepted pattern for using MVC 2 and EF. Especially I am interested on how to implement updates. Where should the ObjectContext be created, where should the queries be, how to pass a model object from the controller and have it persisted with minimum robust code. I also want to be able to use transactions when updating multiple objects.
I used Linq in an asp.net application (code behind model). With EF I was hearing it was much more n-tier friendly, but I don't find it any different, rather than people talking about POCO which to me, all it means is satisfying the desire of those that want to have control of every piece of code being created.
Which one is the recommended coding practice and why ? Is using a Transaction Scope safe ? Is it the latest way to do things ? I am confused about both methods.
I just want to know the concept of commit Transaction and Begin Transaction in Asp.net with c# language, I have a certain code in c# given below... where I declare commit transaction and begin transaction. my code is:
public void dial(string traid, string trakey, string account, string ttref) { try { string[] result = new string[4]; SqlConnection sqlconn_cms = new SqlConnection(sqlconn_cmsstr);