Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S. Have you tried that exact update with the same bind variables using sql developer or sqlplus? If the app uses a specific format, change the TO_DATE data mask to match. the syntax you posted didn't work in Power Shell and I don't have access to my old VB. I couldn't get any similar syntax working so I went with what ran. See if these examples make sense: Ok, that examples above are using SQL Developer to test the soundness of the query. Still gets hung up with no error trapping apparently. I'll let you work with your DBA on those if you feel you need them. You might be able to write something that would look for locks before issuing DML but it would have a built-in race condition: In between looking for a lock and performing the DML, something to get a lock.Then you don't have to mes around wight formatting on the app side. Going from Memory, the syntax you posted seems like it should work. That said: To recap: By default Oracle will convert a string to a date and back using 'DD-MOM-YY'. I have waited for several minutes with not response. I was thinking of a time out error to let me know that the record is locked so that I can at least know that was the issue and go to the DBM to check who has the record locked and resolve the issue.
Also, predicate pushing tends to break down as you stack more views on top of more views.
I changed my code to: Dim ocmd As New Oracle Command ocmd. Connection String = "DATA SOURCE=xs-bhm-dbd-21/W "The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. Execute Non Query() Catch ex As Oracle Exception Msg Box(ex. He released that and I was able to get the execute statement to return immediately.
I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. I find others that use parameters Yes, bind variables is the correct way to do this. Net side and convert them to dates on the DB side: sql = "update Rig_Dates set " sql = sql & "Est_Rig_On= to_date(: Est Rig On,'MM/DD/YYYYY') Where XPrime= : XPrime" Then declare the parameters as varchar2 and pass them in using the correct format. You would think I would get a timeout or do I need to set a timeout in my code? You shouldn't need anything in your code unless you need to account for bad developers/dbas that might lock rows/tables for expended periods of time. All that said: You can tell Oracle to timeout idle sessions using resource management on the database side and on the client side. I'm not sure of anything built-in that would generate a warning.
Also, any predicate pushing may result in a hard parse of the underlying SQL that is executed.
Hence, it is important to make sure you use bind variables instead of literals in SQL code calling views.