ExecuteBatch commits even if autocommit is false ?
Hello !
Is it true that executeBatch (e.g on PreparedStatement) commits
the changes after running ? We tried using a temporary table
with on "commit delete rows" and fill this table with
executeBatch().
The following Statements seem to find this table empty.
Using normal tables or on commit preserve rows works.
OF course autocommit is false and the temporary table is used
on the same connection.
If it is true, does this violate the jdbc-spec ?
Tested with 8.1.7 Database on sparc and the classes12.zip from
9.0.1
Thanks
SMB 3 in Windows Server 2012 adds the capability to make data transfers secure by encrypting data in-flight, to protect against tampering and eavesdropping attacks. The biggest benefit of using SMB Encryption over more general solutions (such as IPSec) is
that there are no deployment requirements or costs beyond changing the SMB Server settings.
http://blogs.technet.com/b/filecab/archive/2012/05/03/smb-3-security-enhancements-in-windows-server-2012.aspx
http://technet.microsoft.com/en-us/library/jj635714.aspx
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
Similar Messages
-
Ejb BMP never commits even with transactions
I have serious problems with any EJB running inside the Oracle8i server, Linux Rh6.2/Oracle 8.1.7.0.1
ALL code does not perist its data, but it sielently fails. For instance take
$ORACLE_HOME/javavm/demo/examples/ejb/transactions/clientside
I changed the last line in Client.java from crollback to commit()...
I run this program twice:
Beginning salary = 3000.0
End salary = 3300.0
Beginning salary = 3000.0
End salary = 3300.0
The second invocation should show the beginning salary as 3300.0
In essance ALL of my EJBs are showing simular behavior. This problem is also seen in ALL of the examples. My environment uesed to work, but I can't figure out what changed to make every EJB-BMP nonpersistant.
any help would be greatly appreciated.
thanks,
-rickI don't think my probmem is related to an exception being lost because no exceptions are throws, I have alot of trace information and I always see complete method calls through ejbCreate, ejbStore, et. al.
My problem is that a transaction never gets commited, even when the JTS is used. Infact I have this piticular problem with ALL Oracle BMP-EJBs
I'm just going to have to open a ITAR, guess thats want support is for. I'm just perplexed as to why it worked last week, and now the demos can't save their state.
a bit scarie for something that may one day be in production. -
ExecuteBatch commits despite autocommit(false)
Hello !
Can someone explain the jdbc-spec to me ?
Should executeBatch commit the transcations if no excpetion was
thrown ?
It seems that the oracle-driver does commit after executeBatch.
I don't think this is right (according to the jdbc-spec) and for us it
is really annoying since we wanted to use a temporary table
with "on commit delete rows". which has the effect, that the table
is empty after inserting with executeBatch (very clever).
The temporary table with "on commit preserve rows" works fine.
Thanksit is my impression that if autocommit is set to false, and no con.rollback() was issued before the program exits, the drivers call an automatic con.commit() before it closes the connection(I've experienced this consistently with 4 different databases). But this probably is not in the java jdbc specs, but a driver implementation decision depending on the vendor/driver.
does anyone else know more on the specs?
Jamie -
XA datasource autocommit is false when no transaction context
WLS 8.1SP4
I am usign MS SQL Serevr JDBC driver.
I use the XA driver: com.microsoft.jdbcx.sqlserver.SQLServerDataSource
I have an MDB, transaction not supported.
The MDB gets a connection from an xa datasource which maps to that SQL Server XA driver.
Even thogh the txn is not supported, autocommit is set to TRUE in the connection. I want it false. I know that I can use a non-txnal DS, but why is autocommut false when I have transaction context?
Kind Regards,
Graham.grahamh wrote:
WLS 8.1SP4
I am usign MS SQL Serevr JDBC driver.
I use the XA driver: com.microsoft.jdbcx.sqlserver.SQLServerDataSource
I have an MDB, transaction not supported.
The MDB gets a connection from an xa datasource which maps to that SQL Server XA driver.
Even thogh the txn is not supported, autocommit is set to TRUE in the connection. I want it false. I know that I can use a non-txnal DS, but why is autocommut false when I have transaction context?
Kind Regards,
Graham.Hi Graham. You are correct. This is a bug we have fixed.
Please contact support and ask for the sp4 patch for
CR212051.
Joe -
Plugins are blocked from being activate - even though click_to_play is false
Using Firefox 30.0 (Ubuntu 1.0) on Ubuntu 12.04.4 LTS AMD64, selected about:config, plugins.click_to_play;false
Still have to select "Activate" every single time I go to a website and need to use Adobe Acrobat, or any other plugin. Extremely annoying.What is the default setting for the plugins on the "Firefox/Tools > Add-ons > Plugins" page?
Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem.
*Switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance
*Do NOT click the Reset button on the Safe Mode start window
*https://support.mozilla.org/kb/Safe+Mode
*https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes -
Cannot download incompatible addons for 4b2, even though checkCompatibility is False
I downloaded 4b2 on to a new Windows 7 machine. I want to download some "older" addons that aren't yet compatible with 4b2. So I downloaded the Compatibility checker addon, plus manually ensured 'extensions.checkCompatibility.4.0b=false' was set in about:config.
When I go to the Firefox Add-On site, I get an error that there was a "connection error" with addons.firefox.com ONLY when I try to download a non-compatible addon (AdBlock worked, for instance, but it's compatible).
== This happened ==
Every time Firefox openedYup,
[http://cybernetnews.com/firefox-4-broken-extensions/ Beta2 broke a ton of stuff]
Most of the extension developers should be aware, but if there isn't a comment about updating to beta2 on the addons page, it couldn't hurt to add it.
Nat. -
JDBC Thin Driver Won't Honor Autocommit=FALSE
I have the following code, which intializes a JDBC thin driver connection, and sets the autocommit to false. However, as soon as the statement is executed, it commits on its own. What's going wrong here? I can tell that it is committing, because the calendar events all disappear, even if the code is terminated before committing, or in an endless loop.
odsSecondary = new OracleDataSource();
odsSecondary.setDatabaseName("####");
odsSecondary.setDriverType("thin");
odsSecondary.setUser("####");
odsSecondary.setPassword("####");
odsSecondary.setPortNumber(1521);
odsSecondary.setServerName("####");
connectionSecondary = odsSecondary.getConnection();
connectionSecondary.setAutoCommit(false);
Statement stmtSecondary = connectionSecondary.createStatement();
stmtSecondary.executeUpdate("truncate table cal_events");The truncate command always issues a commit. refer to the oracle SQL documentation
-
SetAutoCommit(false) is still committing
Hello, I am calling a CallableStatement on an Oracle DB using JDBC connectivity by doing the following:
Connection conn = DatabaseConnectionUtil.getConnection();
try {
logger.debug("Turning off auto commit");
conn.setAutoCommit(false);
catch (SQLException sqle) {
logger.error("Failed to set autocommit to false on Connection object");
logger.error(sqle);
qo.prepareCallableStatement(conn, proc);
qo.executeStatement();
conn.close();
Notice I am issuing no commits anywhere because I am just trying to test this out. However, my transactions are being committed somehow. There are no commits issued in my called package either. Is there some other setting I need to check? Is a commit done when I issue conn.close()?Nothing to do with setAutoCommit.
Oracle (and some other databases) will commit on connection close; this and the contrary behaviour (rollback) are both permitted by the JDBC standard.
You can see this in SQL*Plus too. Do an insert/update/delete, then use the "EXIT" or "DISCONNECT" commands to normally terminate your session. Connect again and you will see the changes have been committed. However, Oracle will roll back if the connection is "broken", either in SQL*Plus or in JDBC. -
Hi,
Trying to set autocommit to false from the code, but not able to get it.
though i say connection.setAutocommit(false)
i does not work.
updates get committed immediately..
i am using mysql 3.23.53.
can anyone help me?...Lets say sqlstr[] hold the query updates you have to do, and your Connection is conn.
try {
DatabaseMetaData dmd = conn.getMetaData();
if (!dmd.supportsTransactions()) {
System.err.println("Transactions are not supported");
return;
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.clearBatch();
for (int i = 0; i < sqlstr.length; i++)
stmt.addBatch(sqlstr);
int[] updateCounts = stmt.executeBatch();
conn.commit();
conn.setAutoCommit(true);
catch (java.lang.ClassNotFoundException cnfe) {
cnfe.printStackTrace();
catch (BatchUpdateException bue) {
if (conn != null) {
try {
conn.rollback();
stmt.close();
conn.close();
System.out.println("Transaction was rolled back");
catch (SQLException sqle) {
sqle.printstackTrace();
catch (java.sql.SQLException sqle) {
sqle.printStackTrace();
catch (java.lang.Exception e) {
e.printStackTrace();
Hope I didn't miss something. -
Hi,
I was trying to deply a very simple CMP on to oc4j the latest version. My database/datasource is mySQL,
I've got this kind of problem when I was creating an instance by calling create() method:
javax.ejb.EJBException: Error creating EntityBean: Can't call commit when autocommit=true
at UserLocalHome_EntityHomeWrapper7.create(UserLocalHome_EntityHomeWrapper7.java:651)
at com.mymcsb.GfKcb2.master.ejb.session.AddUserSessionEJBBean.addUser(AddUserSessionEJBBean.java:39)
at AddUserSessionEJB_StatelessSessionBeanWrapper2.addUser(AddUserSessionEJB_StatelessSessionBeanWrapper2.java:100)
at master.doAddUser._jspService(doAddUser.jsp:29)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:139)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:724)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:309)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:484)
I know this has something to do with autocommit. But I've searched a lot of documents on how to disable jdbc auto-commit feature of the jdbc drivers while at the same time using CMP in my applicaiton. Could anyone tell me how can this be achieved?
I think it is dificult because when using CMP, you don't have direct access to the connection - after all the database manipulation it is managed by the container. So there must be a way to explicitlt tell the application server that some of the entity beans require autocommit to be off. anyone has any idea?
Can anyone tell me how to go around this? Your help is very much appreciated!!!
Regards,
MikeBakul,
In the original mail it is said, that the problem happened during creation. Moreover, as a standard design practice we never create entity beans directly from clients., we always create a session facade. Moreover the other problem that I observed with setting autocommit to false was with automatic table creation. See OC4J has this facility of automatic table creation when you deploy your entity beans. So if the autocommit is false,OC4J will create thae tables fine but when you execute your code, those tables are not available to your code, since the autocommit is false and the created tables never got committed.
Vmal -
Button label - want to look enabled even when disabled
I have a button that I want to be clickable sometimes, and not at other times.
When it's NOT clickable, I want othe button skin to disappear, leaving only
the label. I'm not using an icon.
To make it not-clickable, I set the "enabled" property to false in code,
and using the "disabledSkin" style to specify a transparent image.This
works fine. But the button's label is grey, not black (as you'd expect).
I want it to be black even when "enabled" is false.
Is there a style that pertains to this that I can control?never mind, I found that using the "disabledColor" style on my button
does what I want. Thanks. -
Commiting all the records when one is change --Help Please
Hi,
I have a problem. I have got a form to do some changes. (original form was not done by me). This is a base table form. If I query for a particular criteria, and say it returns 5 rows and then if i modify just something only in one record and save, it commits all 5 records.
But for the second time (without exist form the form), then if I query for the same criteria which returns the same 5 records and at that time when changing something in 1 record will commit only that record... Any idea what property has got wrong...
The problem is I am supposed to keep a history table and to track the changes done to main table. so in above case as it commits even the records that has not being changed, that also get writes to the history...
There are some display fields as well which display values from LOVs.
Any one, ... any idea where the problem is...No Mohan,
I haven't written any code.. I also cannot find how this happens.. because its a form that someone else has done..iam also trying to find why & how this is happening. There is no trigger to update, it is a base table block.
But I saw a field now which populates from a LOV. There is a description field displayed on the form but actually the field that is on the table is the code, so when selecting from the LOV the code field is getting populated... Is this a problem -
Setting AutoCommit to True for XA Drivers
In jrockit81sp2_141_05, the default setting was changed to AutoCommit is false
for all XA Drivers. Was wondering how to change it back to true.
In the properties section of JDBC connection configuration I added
autocommit=true
But that didn't do anything. Any ideas? Thanks. Later...
- WayneI think you posted this to the wrong newsgroup. There are no XA Drivers
in JRockit - it is just a JVM. Try one of the WLS newsgroups instead.
Thanks,
/Staffan
Wayne Lau wrote:
In jrockit81sp2_141_05, the default setting was changed to AutoCommit is false
for all XA Drivers. Was wondering how to change it back to true.
In the properties section of JDBC connection configuration I added
autocommit=true
But that didn't do anything. Any ideas? Thanks. Later...
- Wayne -
ActiveStandby TwoSafe AutoCommit Mode
Chris,
Can ActiveStandby with TwoSafe replication work with default AutoCommit mode of TRUE ?
In one of the posts, you have mentioned that there is no way to set autocommit to false via configuration it has to be set during runtime via jdbc connection: connection.setAutoCommit(False).
If that is the case, does Oracle expects all applications, including non java, to programmatically set the autocommit to FALSE inorder to use TwoSafe replication? I am affraid, this fact is not documented in TimesTen documentation for 7.0
Could you please confirm above understandings.
Regards
VInodI'm afraid that you are correct on all counts:
1. You cannot use 2-Safe replication with Autocommit TRUE.
2. You cannot 'configure' AUtocommit to be FALSE immediately after a connection.
3. All applications must set Autocommit OFF programatically if they wish to to not use Autocommit.
It is recognised that this can cause some issues and it may be that we will address this at some point.
Chris -
SetAutoCommit(false) fails
I am trying to set AutoCommit to 'false'
in a method and I get this error mesage:
[Microsoft][ODBC Microsoft Access Driver]Attribute cannot be set now
The message is very uninformative and frustrating.
Has anybody encountered this before?This not a servlet. not EJB, just some proxy class
for convenient database access.
I am writing a method that takes a collection of SQL queries
(Strings) and executes them as a single transaction:
public String executeTransaction(Collection update_queries) throws SQLException
if (update_queries == null)
throw new SIException("null update queries collection passed to DBProxy.executeTransaction!");
synchronized(_proxy_lock)
String result = null;
Statement update_stmnt = null;
try
//Enter transaction mode
_connection.setAutoCommit(false);
update_stmnt = _connection.createStatement();
At the end of the method I would like to return to AutoCommit mode.
I'd be very grateful if you could help.
Maybe I should switch to another database provider, like PostgreSQL?
Maybe you are looking for
-
How to use a single formula in multiple crosstabs
Hi, I have 2 crosstabs, each in separate subreports, which are both combined into my overall report. I'm formatting the background color of a field in each crosstab using a background color formula in each crosstab. I'm applying the formula by right
-
Transparent slides into pictures
I was told I could take a "slide" - the transparent kind you show through a projector up on a screen, scan them and turn them into a picture slide show in my Photoshop program. I have Photoshop Premiere 5.0 and Elements 3.0
-
Help : Regarding Report Group (Report painter)
Dear All I have developed a report thru report painter. But i m having doubts wy we use report group? what will be the impact if i use the report group which are already exist or else for every report we have to go for new report Group .. Reward for
-
My ipad 2 is disabled and i never synced it what do i do?
-
Airport express on Vista with 'later version of itunes'
Hey everybody....so I'm trying to put my airport express on my new vista machine. It's telling me when I install the software that my version of itunes is too recent. I did just download the new update, but it did that even before. Am I just down wit