Sql driver sp14
hi,
i upgraded my portal to sp14. i added new jdbc driver at
visual composer. i can connect to the db and select information from my table. when i use the method "last()" i get an error message :
Sales naming exception [sap NWMSS] [sqlserver jdbc driver]
unsupported method : resultset.last
anyone knows how to solve that problem?
roni.
hi Roni,
Instead of giving last() give Movelast() bcoz movelast() is the method that works good for the table.
Hope this helps u,
Regards,
Nagarajan.
Similar Messages
-
Hi
We're on Sap Dataservices version 4.1
We're trying to control the SQL driver to be used for communicating with external warehouse.
currently we get this error <[Microsoft][ODBC SQL Server Driver] Optional feature not implemented
We have had a look at note 1624626 - seems like our problem, but we're not able to perform that tasks specified.
Install Native Client for MS SQL Server 2008 - done
Modify all data sources associated with the job to use the native client - how??
Modify db connection of the datastore associated with the job
Restart Job Service
Run the job.
Any help will be appreciated.Hi Henrik,
As per the trailing post, when you had installed/updated the Native Client for MS SQL SERVER 2008, then there are some changes you need to take care about the repository connections as well as data store connections.
Every job server is associated with at least one repository, In your case if the job server has a repository in MS SQL SERVER 2008 then do refresh the connection by going into
DS server manager -> Config EDIT -> select the job server -> select the repository-> click on edit and reenter the credentials.
Then do click on close and restart, only by doing so the services will restart and changes will take effect.
By doing these steps, you had Restarted the job service as well as modified data connection to the repository associated to the job server.
Lastly log on to the Designer and refresh all the data stores associated with MS SQL SERVER 2008.
You can do this by just selecting the data store from the project explorer, right clicking on it and click on edit. Reenter the login credentials and click on apply.
Regards,
Mubashir Hussain -
Microsoft SQL Drive and Weblogic 10 error
Hi
I am getting following setting up JDBC connection between Weblogic 10.3 and Microsoft SQL 2005. I have always worked with Oracle, first time with Microsoft SQL. From what I read only SQL 2005 drive comes with weblogic 10.3. Can you please tell me what are the correct step to get it working? Thank you.
Oct 29, 2008 8:51:47 AM EDT> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
<Oct 29, 2008 8:51:54 AM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY>
<Oct 29, 2008 8:51:54 AM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
<Oct 29, 2008 8:51:54 AM EDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'equitrak' due to error weblogic.application.ModuleException: .
weblogic.application.ModuleException:
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:289)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
Truncated. see log file for complete stacktrace
weblogic.common.resourcepool.ResourceSystemException: Cannot load driver class: com.microsoft.jdbc.sqlserver.SQLServerDriver
at weblogic.jdbc.common.internal.JDBCUtil.parseException(JDBCUtil.java:291)
at weblogic.jdbc.common.internal.ConnectionEnvFactory.loadDriver(ConnectionEnvFactory.java:73)
at weblogic.jdbc.common.internal.ConnectionEnvFactory.<init>(ConnectionEnvFactory.java:129)
at weblogic.jdbc.common.internal.ConnectionPool.initPooledResourceFactory(ConnectionPool.java:637)
at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:200)
Truncated. see log file for complete stacktrace
>
<Oct 29, 2008 8:51:55 AM EDT> <Notice> <Log Management> <BEA-170027> <The server initialized the domain log broadcaster successfully. Log messages will now be broadcasted to the domain log.>
<Oct 29, 2008 8:51:55 AM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN>
<Oct 29, 2008 8:51:55 AM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING>Also. I am getting the following error, with BEA's MS SQL Driver (Type 4) Versions 7.0: 2000, 2005.
Message icon - Error Connection test failed.
Message icon - Error [BEA][SQLServer JDBC Driver]Error establishing socket to host and port: 172.24.42.102:1433. Reason: Connection refused
weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
weblogic.jdbc.sqlserver.tds.TDSConnection.(Unknown Source)
weblogic.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
weblogic.jdbc.base.BaseConnection.connect(Unknown Source)
weblogic.jdbc.base.BaseConnection.setupImplConnection(Unknown Source)
weblogic.jdbc.base.BaseConnection.open(Unknown Source)
weblogic.jdbc.base.BaseDriver.connect(Unknown Source)
com.bea.console.utils.jdbc.JDBCUtils.testConnection(JDBCUtils.java:504)
com.bea.console.actions.jdbc.datasources.createjdbcdatasource.CreateJDBCDataSource.testConnectionConfiguration(CreateJDBCDataSource.java:369)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:870)
org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:809)
org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:478)
org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:306)
org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:336)
org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:52)
Please let me know if any other information is required.
Thanks -
I bought the book:"Java Swing" and I have problems with an Example, in this case the mistake is with the follow line:
new gsl.sql.driv.Driver();
Do you know why I have problems with this line?
The mistake message is:
C:\My Documents\Java\Swing>javac QueryTableMod
QueryTableModel.java:17: cannot resolve symbol
symbol : class Driver
location: package driv
new gsl.sql.driv.Driver();
^
1 errorCheck if you have package gsl.sql.driv in your jdk (it is non standart package). If no, you have to put jar file of this package in
disc:\path to your jdk\jre\lib\ext
hope it will help you. -
Hi all,
where can I find an sql driver for java.
Thanks in advance for your help.
Best Regards.
Saadi MONLAGo to msdn.microsoft.com
-
hi,
i upgraded my portal to sp14. i added new jdbc driver at
visual composer. i can connect to the db and select information from my table. when i use the method "last()" i get an error message :
Sales naming exception [sap NWMSS] [sqlserver jdbc driver]
unsupported method : resultset.last
can u help?
roni.Hard to say as I don't know what you want to do with the last() call. Maybe a 'select count(*)' with the same where clause that was used to create the result is an option. Just a side note: OpenSQL only supports read-only result sets, which is you can't call any of the update() methods on it.
Maybe a vendor connection helps talking native sql to the database; it usually gives you access to all features that the specific jdbc driver for a given database backend supports. The real big downside is that you end up with database specific code that doesn't neccessarily work on all db platforms. Further, you can't design the tables with the dictionary explorer nor is their any support for deployment of native tables. Quite some drawbacks.
helmut -
Hi,
Wonder if anyone can help. I have developed our own version of the logon page, and in the JSP I read a java database using the recommended driver class com.sap.portals.jdbc.sqlserver.SQLServerDriver which can be found in p9sqlserver.jar. This worked fine.
After a recent upgrade from SP12 to SP14 the jar in which this class can be found has moved and I now get at class not found exception.
Looking at the difference between the two versions of the portal comparing the difference of the locations of the jar:
SP14 - / /Server0/bin/ext/jdbcdrivers/p9sqlserver.jar
SP12 - / ../Server0/bin/ext/datadirect/p9sqlserver.jar
Does anyone know how I can get my component to find the jar file ?
Thanks
PhilHi,
i have the same - a custom logon Page with SQL-Connect where the driver class cant be found anymore after upgrading to Sap Netweaver Portal 2004s from (EP 6).
I tried to register the driver (/ /Server0/bin/ext/jdbcdrivers) like advised under:
http://help.sap.com/saphelp_nw04/helpdata/en/c7/641f44be9f1e4ebbe807cfbad61d44/frameset.htm
but that did not work for me.
Did any of you ever solve this poblem.
THX & regards -
So frustrated to see my servlet cant connect to mysql database, anyone pls help me?
i put mysql-connector-java-2.0.14-bin.jar in
C:\Apache\Tomcat 4.0\common\lib
C:\Apache\Tomcat 4.0\webapps\ROOT\WEB-INF\lib
D:\j2sdk1.4.0_03\jre\lib\ext
here the exception:
javax.servlet.ServletException: Unable to load driver
at FormHandlerServlet.init(FormHandlerServlet.java:27)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:400)
at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:216)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)
here is my servlet:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
import java.sql.Date;
public class FormHandlerServlet extends HttpServlet{
private static final String driver="com.mysql.jdbc.driver";
private static final String dbURL= "jdbc:mysql://localhost/aos";
private static final String login= "aos";
private static final String password= "aos";
private ServletContext context;
private Connection conn= null;
private Statement stmt= null;
public void init(ServletConfig config) throws ServletException{
super.init(config);
context= config.getServletContext();
try{
Class.forName(driver);
conn= DriverManager.getConnection(dbURL, login, password);
stmt= conn.createStatement();
catch(ClassNotFoundException e){
System.err.println("Unable to load driver");
throw new ServletException("Unable to load driver");
catch(SQLException e){
System.err.println("Unable to connect to database");
throw new ServletException("Unable to connect to database");
public void service(HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException{
Vector errors= new Vector();
Calendar startCalendarDate = Calendar.getInstance(TimeZone.getDefault());
java.util.Date startUtilDate = new java.util.Date();
long startLongDate = startCalendarDate.getTime().getTime();
java.sql.Date startSqlDate = new java.sql.Date(startLongDate);
String userID= req.getParameter("userID");
String password1= req.getParameter("password1");
String password2= req.getParameter("password2");
String name= req.getParameter("name");
String ic= req.getParameter("ic");
String status= req.getParameter("status");
String gender= req.getParameter("gender");
String department= req.getParameter("department");
String email= req.getParameter("email");
String phone=req.getParameter("phone");
if(!isRequiredData(userID, password1, password2, status))
errors.add("Sila isikan semua data yang diperlukan dimana *.");
else{
try{
if(isExistedUser(userID))
errors.add("No Matriks/Pekerja anda sudah wujud, Sila cuba lagi.");
catch(SQLException e){}
if(!isSamePassword(password1,password2))
errors.add("Sila isikan password1 dan password2 yang sama.");
if(!isValidPassword(password1,password2))
errors.add("Sila isikan password anda dalam 8-12 perkataan.");
if(!isValidEmail(email))
errors.add("Sila pastikan " +"@"+" dalam e-mel anda.");
if(!isValidPhone(phone))
errors.add("Sila pastikan "+ "-"+" tidak dalam nombor telefon anda.");
if(!isValidUserID(userID))
errors.add("Nombor Matriks/Pekerja anda tidak mengandungi 6 perkataan.");
String next;
String password= password1;
String insert= "insert into user values('"+userID+"', '"+password+"','"+
name+"', '"+ic+"', '"+status+"', '"+gender+"','"+
department+"', '"+email+"', '"+phone+"', '"+startSqlDate+"')";
if (errors.size() ==0){
//data is ok, insert data to database, dispatch to wherever
try{
int x= stmt.executeUpdate(insert);
catch(SQLException e){}
next= "/aos/thanks.jsp";
else{
//data has errors, try again
String[] errorArray= (String[])errors.toArray(new String[0]);
req.setAttribute("errors", errorArray);
next= "/aos/RegisterForm.jsp";
RequestDispatcher rd;
rd= context.getRequestDispatcher(next);
rd.forward(req, res);
public boolean isSamePassword(String password1,String password2){
//check for both password is same
return(password1.equals(password2));
public boolean isValidPassword(String password1,String password2){
//check for both password is under 8-12 char
return(password1.length()>=8 && password1.length()<=12 &&
password2.length()>=8 && password2.length()<=12);
public boolean isValidPhone(String phone){
//check for no dashes
return(phone.indexOf("-")==-1);
public boolean isValidEmail(String email){
//check an "@" somewhere after 1st char
return(email.indexOf("@")>0);
public boolean isValidUserID(String userID){
//check for userID is 6 char
return(userID.length()==6);
public boolean isRequiredData(String userID,
String password1, String password2, String status){
//check for required data is filled
return(userID.length()!=0 && password1.length()!=0 &&
password2.length()!=0 && status.length()!=0);
public boolean isExistedUser(String userID) throws SQLException{
String sql= "select * from user where id= '"+userID+"'";
ResultSet rs= stmt.executeQuery(sql);
if(rs.next())
return true;
else
return false;
is the driver name correct?
private static final String driver="com.mysql.jdbc.driver";
I usually have another string, but I might use a different mysql driver. Try opening your mysql driver with winzip and see if the class is there and at the defined directory place -
Having problems with new WebLogic MS SQL driver WLS 8.1
Hi,
We've recently migrated our application from WLS 6.1 to WLS 8.1. We use an MS SQL database. In 6.1 we used the (now deprecated) weblogic.jdbc.mssqlserver4.Driver driver. In 8.1 we now use the new weblogic.jdbc.sqlserver.SQLServerDriver driver. We now are seeing NullPointerExceptions with the new driver that we never saw when running in 6.1 (with the old driver). The exception is occuring at the driver level. I'll paste some of the stack traces below but here is a quick synopsis of our usage pattern:
-standard get-use-close pattern on the connection for each request (connection is closed in finally block).
-pool size: min 1, max 7, increment 5
-test on reserver enabled
-we are simply reading data (no updates)
-we use a single thread that hits the database so there is only ever one active application thread hitting the DB.
-we are using a stored proc.
-we setTimeout on the statement (initial testing seems to indicate that query timeout seems to be at the root of the problem)
The problem seems to occur when statement timeouts occur. I can recreate the problem by setting the statement timeout to 1 sec and throwing a lot data at the DB. What seems to occur is a query hits the timeout and a SocketException is thrown, subsequent queries then throw a NullPointer in the driver layer. Again, this is the behavior under WLS 8.1 with the new weblogic.jdbc.sqlserver.SQLServerDriver driver. If I use the old driver (weblogic.jdbc.mssqlserver4.Driver) under WLS 8.1 all I get is the SocketException (which is what I want). This application ran under WLS 6.1 with the old driver processing millions of queries without any problems.
We are wondering:
(1) Is this a known problem?
(2) Is there a recommended workaround?
Cheers, and as always thanks in advance for any help.
Stack traces follow.
Thank,
Mich
Here are some failure traces from the WLS 8.1 new driver:
java.sql.SQLException: [BEA][SQLServer JDBC Driver]Execution timeout expired.
at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
at weblogic.jdbc.base.BaseStatement.postProcessExceptionFromCommonExecute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at weblogic.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)
at com.our.QueryHandler.execute(QueryHandler.java:79)
THEN WHEN A SUBSEQUENT QUERY IS MADE:
java.lang.NullPointerException
at weblogic.jdbc.sqlserver.tds.TDSRequest.switchColumnDescriptions(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRequest.processRow(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCNonCursorExecuteRequest.submitPrepare(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCExecuteRequest.doPrepExec(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCExecuteRequest.execute(Unknown Source)
at weblogic.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at weblogic.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)
at com.our.QueryHandler.execute(QueryHandler.java:79)
Just to be complete here is the stacktrace generated by a timeout using the old driver on WLS 8.1 (again, this one behaves as expected):
weblogic.jdbc.mssqlserver4.TdsException: I/O exception while talking to the server, java.net.SocketTimeoutException: Read timed out
at weblogic.jdbc.mssqlserver4.TdsStatement.getMoreResults(TdsStatement.java:813)
at weblogic.jdbc.mssqlserver4.TdsStatement.execute(TdsStatement.java:210)
at weblogic.jdbc.mssqlserver4.TdsStatement.executeQuery(TdsStatement.java:54)
at weblogic.jdbc.mssqlserver4.TdsStatement.executeQuery(TdsStatement.java:1424)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)Michel Crichton wrote:
Hi,
Thanks for the prompt reply. In answer to your questions:
What I would like to know is the exact code/sequence that causes the subsequent exception. See the sequence of calls at the end of this reply.
Is this in the same thread in the very next call?
I replicated the problem by going through the Web container (5 clients) therefore WebLogic threads are used in this case. I see from the logs 4-5 different execute threads at work (ex. ExecuteThread: '10' for queue: 'weblogic.kernel.Default').
Does it happen all the time?
Although it is tough to tell for sure, once it starts happening it seems to happen most if not all the time.
Is it an attempted re-use of the same statement, or trying to use a different statement?
We do a connection.prepareStatement(QUERY_STRING) call everytime (there is only one per request/response cycle). I believe WLS caches statements behind the scenes though so I suspect at that level there is reuse. There is only one stored proc used (we vary the params per call).
Please show me your pool definition from the config.xml
file, and I will send you instructions to produce some
debug info that will get us to the heart of this matter.
<JDBCConnectionPool
DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
MaxCapacity="5" Name="THE POOL"
PasswordEncrypted="XXX"
Properties="user=XXX;portNumber=XXX;databaseName=XX;serverName=X.X.X.X"
Targets="Server"
TestConnectionsOnReserve="true" TestTableName="TEST_TABLE" URL="jdbc:bea:sqlserver://X.X.X.X:XXX"/>Ok, do these things:
1 - Add our spy attribute to your pool definition, like this:
<JDBCConnectionPool
DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
MaxCapacity="5" Name="THE POOL"
PasswordEncrypted="XXX"
Properties="user=XXX;portNumber=XXX;databaseName=XX;serverName=X.X.X.X"
Targets="Server"
TestConnectionsOnReserve="true"
TestTableName="TEST_TABLE"
URL="jdbc:bea:sqlserver://X.X.X.X:XXX;spyAttributes=(log=(file)spy.log;timestamp=yes)"/>
2 - Edit the start-weblogic script to add the spy jar (wlspy.jar) to the
classpath that the script creates for the server, eg:
set CLASSPATH=%WL_HOME%\server\lib\wlspy.jar;%CLASSPATH%
3 - Reboot and duplicate the problem as briefly as possible.
4 - In the same directory where you start the server, you will
now find a file named 'spy.log'. Please send it to me. ( j o e AT b e a DOT c o m )
I will try to reproduce the problem.
5 - Ask BEA support for the latest BEA driver package and install it according to
their instructions. Let me know asap if the probem is still there.
thanks
Joe
>
Also, I forgot to post in the original message some of the WLS stdout related logging we see. Here it is (sorry, it's a little messy):
11:38:37 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '11' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:37 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:37 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:38 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <> <BEA-001112> <Test "select count(*) from TEST_TABLE" set up for pool " THE POOL" failed with exception: "java.sql.SQLException: [BEA][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset). Please ensure that the server parameters passed to the driver are correct and that the server is running. Also ensure that the maximum number of connections
have not been exceeded for this server.".>
11:38:38 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <> <BEA-001128> <Connection for pool " THE POOL" closed.>
11:38:38 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <> <BEA-001067> <Connection for pool " THE POOL" refreshed.>
11:38:40 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001112> <Test "select count(*) from TEST_TABLE" set up for pool " THE POOL" failed with exception: "java.sql.SQLException: [BEA][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset). Please ensure that the server parameters passed to the driver are correct and that the server is running. Also ensure that the maximum number of connections
have not been exceeded for this server.".>
11:38:40 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001128> <Connection for pool " THE POOL" closed.>
11:38:40 o'clock AM EST> <Info> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001067> <Connection for pool " THE POOL" refreshed.>
11:38:41 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
11:38:41 o'clock AM EST> <Error> <JDBC> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <> <BEA-001131> <Received an exception when closing a cached statement for the pool " THE POOL": java.sql.SQLException: [BEA][SQLServer JDBC Driver]The operation was cancelled at the user's request..>
Here is the sequence of calls we make (notice the statement is closed outside the finally however we assume the connection.close should close associated resources):
PreparedStatement statement = null;
try {
connection = dataSource.getConnection();
statement = connection.prepareStatement(QUERY_STRING);
statement.setString(1, name1);
statement.setString(2, name2);
statement.setQueryTimeout(timeout);
ResultSet resultSet = statement.executeQuery();
//iterate over result set
statement.close();
return result;
} catch (SQLException e1) {
//log
} finally {
try {
if(connection != null)
connection.close();
} catch (SQLException e2) {
//log
Thanks again,
Mich -
Deploy MS SQL Driver in PI 7.4 Java Only
Hi Experts,
We have a requirement to use JDBC adapter to connect to MS SQL Server. For that jdbc driver should be deployed on PI.
For that i have downloaded .jar from MSDN - sqljdbc_4.1.5605.100_enu.exe
I have gone through several threads & SAP note 1138877 - How to Deploy External Drivers JDBC/JMS Adapters on SCN but not completely understood.
Please help me with this, how can i deploy it on PI 7.4 Java only?
It would be a great help and highly appreciated.
Thanks in advance.
Regards,
Dipen.Hi Hareesh,
Thanks for a quick reply.
I have gone through those several blogs & threads but still i am running out of clue.
Should i do it with SUM or directly it is possible from NWA as per below link?
Configuring JDBC for SAP Enterprise Portal - Configuring the Portal for Initial Use - SAP Library
Please advice. -
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixinJoseph Weinstein <[email protected]> wrote:
>
>
YuanHui Liu wrote:
Joe,
We got the exact same error message. The error came after we got theJDBC connection,
and trying to create statement off it.
It occurs intermitently when we are running another standalone JAVAapp to do
some end of day work, which results in the DB Server being very busy(90+%CPU
usage) for about 5 minutes. We see a surge of requests to the WLSJDBC Connection
pool. This would sometimes result in all our subsequent DB requeststo fail and
lead to a crash.
We are using WLS6.0SP1. I do not think there's a 30 seconds wait leadingto a
connection timeout that caused this(rather it is the end effect).
Can you give us a more detailed explanation? Is there a miscommunicationbetween
our DB(Sybase12) and WLS?Hi. It looks to you like it's after you get the connection, but really
it's when the server is
gettng the pool connection. For performance/synchronization reasons we
do a clever
delay: When your code asks for a pool connection we quickly give you
the pool wrapper,
but we delay actually reserving the real underlying DBMS connection until
your first
real need for a connection, at your first JDBC call, such as createStatement()
etc.
It is while waiting for a pool connection long enough for the transaction
coordinator
to have timed you out before you ever get a chance. It's nothing to do
with the
DBMS or even JDBC, I believe. I think the weblogic server either has
too few execute-threads
and/or too few CPU cycles to do the work load.
Okay, so there's a lazy initialization of the connection.
From reading our log I believe our failur is immediate rather
than waiting for 30+ seconds(the default setting) from the DB,
the timeout occurred later as a result. At the time either because the DB Server
is very busy.
Since we are running WLS6.0 we have only one connection pool,
we have defined a max of 150 threads in the pool. While this
is happening the DB Server is being pinned by an overnight job,
but the WLS Server is not busy at all. The DB and WLS resides
on different physical boxes.
We also have a thread dump from the WLS console when we rebooted the server, it
showed that we are hanging on to the thread & jdbc
connections after these exceptions has occurred instead of releasing them, note
"16083"(~4.5 hours) seconds has passed:
142 116222 Retry rollback request for tx: 'transaction=(IdHash=2963855,Name =
[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()],Xid=30643:8f3838f3709bf53d,Status=Rolling
Back. [Reason = Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since
begin=16083,seconds left=10,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=server),SCInfo[server]=(state=active),properties=({weblogic.jdbc=t3://159.55.158.25:8005,
weblogic.transaction.name=[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()]}))'
Scheduled Trigger
So I would argue this problem actually chewed up resources on the WLS server.
-Yuanhui Liu
>>
>>
Thanks.
-YuanHui Liu
Joseph Weinstein <[email protected]> wrote:
lixin wrote:
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)Hi. This sounds like a JVM thread starvation issue, and/or a server
load
issue. What is
happening is that the transaction is started, and times out beforethe
SSB even gets to
the first JDBC work. I would first verify that the customer is using
the very latest JVM
available for the machine.
Joe Weinstein
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixin -
Hi
I'm receiving the following error in ODI 11.1.1 when I try to connect to a SQL Server db:
Oct 24, 2011 12:03:11 PM com.microsoft.sqlserver.jdbc.internals.SQLServerConnection
SEVERE: Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.
I have put sqljdbc4.jar in the following directory:
C:\oracle\product\11.1.1\Oracle_ODI_1\oracledi\agent\drivers
I am executing against the local agent.
What am I doing wrong?
CheersHi
We don't have an agent set up at the moment, which I think is why that directory does not exist. (I have been testing using the Local Agent). Nevertheless, I created the folder and moved my sqljdbc4.jar file to that location. ie. E:\Oracle\product\11.1.1\Oracle_ODI_1\oracledi\Agent\Drivers
Closed the Studio and then reconnected. Tested the connection, but still no good. Same error.
Cheers -
My sql driver does not recognize columns of type TEXT in MYSQL DB
i am working wiith MySQL 5.1 and one of the tables column is of type "text" and at runtime i run chnage data source from ODBC to JDBC jndi. when i do that the report report is not able to display the value of the column of type "text".
after investgation the issue i found that the Crystal do not know to map columns of type "text".
i also tried the same thing from crystal report designer tool to change the report connection defintions from ODBC to JDBc and it faild to map that specefic column of type "text"
what should i do?
is this a mysql driver version issue???SQL> SELECT d.tablespace_name,round(((a.bytes - NVL(f.bytes,0))*100/a.maxbytes),2) used_pct
2 FROM sys.dba_tablespaces d,(select tablespace_name, sum(bytes) bytes, sum(greatest(maxbytes,bytes)) maxbytes from sys.dba_data_files group by tablespace_name) a,(select tablespace_name, sum(bytes) bytes from sys.dba_free_space group by tablespace_name) f
3 WHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = f.tablespace_name(+)
4 AND NOT (d.extent_management = 'LOCAL' AND d.contents = 'TEMPORARY');
TABLESPACE_NAME USED_PCT
MGMT_TABLESPACE .82
SYSAUX 1.52
UNDOTBS1 .32
RMAN .02
CORRUPT_TS 10.63
USERS 0
SYSTEM 2.26
MGMT_ECM_DEPOT_TS .04
MGMT_AD4J_TS 0 -
Hi all,
I am sure you must have sen this a million times before but i am rather new to all of this so any help would be appericiated.
I am trying to set up a connection manager class to link to a MySql database. I am using the resin mysql driver and the code compiles fine. whenever i try to run it though it throws out the following:
java.lang.ClassNotFoundException: com.caucho.jdbc.mysql.Driver
And yes i have set the classpath to point at the jar file containing the driver and the only import i have is java.sql.* the code itself is:
protected Connection con;
protected String driver ="com.caucho.jdbc.mysql.Driver";
protected String url ="jdbc:mysql-caucho://192.168.0.165:3306/store";
/** Laod the driver and make connection to the database */
public Connection logOn() {
try{
Class.forName( driver );
con = DriverManager.getConnection(url,"","");
} catch(Exception ex) {ex.printStackTrace();}
return con;
Whenever i try to use the logOn() method i get the above errorI don't have the driver that you refer to available here but I've seen this problem pop-up before and after lengthy investigation turn out to be a misspelled package / class in the driver class name. I'm implying nothing about your abilities but it might be worth double-checking before you investigate further.
-
Unable to insert values thru SQL driver
Hi , I am having problem regarding inserting the values in SQL server,but an exception is generated.i.e..SQLException.I hav mentioned below the code,plz look over it if there is any mistake as values not being to inserted thru url statement .
If any changes to be made plz mention it.
Try
mgr.reportWarning("starting.....");
mgr.raiseException("ur herer",false);
String drivername="com.sap.portal.jdbc.sqlserver.SQLServerDriver";
Class.forName(drivername);
mgr.reportWarning("Driver loaded");
mgr.raiseException("Driver loaded",false);
String url="jdbc:sap:sqlserver:// ... / *:*;DatabaseName=dbname";
conn=DriverManager.getConnection(url,"username","password");
mgr.reportSuccess("you r here");
Statement stmt=conn.createStatement();
String stmt1="insert into tablename(col)".concat("values('"wdContext.currentSurveyElement().getQuestion1()"')");
//PreparedStatement pstmt=conn.prepareStatement(stmt1);
ResultSet rs=stmt.executeQuery("insert into test""(Column1)" "values('wdContext.currentSurveyElement().getQuestion1()')");
stmt.close();
conn.close();
Regards:
hanifHI,
use drivername:
com.microsoft.sqlserver.jdbc.SQLServerDriver
Connectiion object:
jdbc:sqlserver://<serverhost which has the sqldriver>
SQLEXPRESS:1433;database=<databaseName>;user=<usedname>;password=<password>
try with this details.
regards,
Kathiresan R
Maybe you are looking for
-
Captive portal implementation permits/blocks web traffic. When a user is timed out (authentication & session) it still occupies a channel as seen in the clients list. How can we disconnect a host that is timed out?
-
Purcahse requisition "In Process" status.
Hi I have an issue with PR. A PR is created and approced by the same user. In purchasing the same PR is not being opened since it's status is "in Process". PO Document Approval Manager is working fine in background. What could be the solution? Regard
-
Does 10.2.0.3 patchset include Jan 2007 CPU?
All, I'm looking for clarification on whether the 10.2.0.3 Solaris-64 bit patchset contains the Jan 2007 CPU. On DocID: 391116.1 "10.2.0.3 Patch Set - List of Bug Fixes by Problem Type" it looks like the Jan 2007 CPU is included but on DocID: 403335.
-
Best new mac for Photoshop CS5/6
I bought Photoshop CS5 and 6 prior to having a mac they could work on as I wanted to future proof myself against the cloud based system ( lets not go there ) Now my G5 PPC main HD had died suddenly and as the new MacPro is imminent I have lots of opt
-
Entire iDisk corrupt after Snow Leopard upgrade
I keep a local copy of my iDisk on my laptop hard drive (System Prefs/MobileMe/iDisk sync: ON) and have about 15gb used out of 20gb capacity. After installing 10.6 on Friday, my local iDisk is useless. At first I thought it was a single Excel sheet t