Problem with JDBC resultset
Hello everyone:
I'm using JDBC to connect to SQL Server, normally after executeQuery();, it should return me a opened BaseResultSet in order that i can read datas by stream(next(), getColumn(),etc...) but sometimes it returns a BaseResultSet closed. (I detected it during the debugging by checking the value of the property "closed" in the object returned ), in this case it refused all the following operations with the exceptions "ResultSet has been closed".
Does that sound normal? How to solve it ?
Thanks a lot!!!!
Did you close the underlying Statement or Connection objects? It might come back empty (e.g., next() returns false), but it should not come back already closed.
- Saish
Similar Messages
-
BUG JSF h:dataTable with JDBC ResultSet - only last column is updated
I tried to create updatable h:dataTable tag with three h:inputText columns with JDBC ResultSet as data source. But what ever I did I have seceded to update only the last column in h:dataTable tag.
My JSF page is:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1250"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<f:view>
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1250"/>
<title>Stevan</title>
</head>
<body><h:form>
<p>
<h:messages/>
</p>
<p>
<h:dataTable value="#{tabela.people}" var = "record">
<h:column>
<f:facet name="header">
<h:outputText value="PIN"/>
</f:facet>
<h:inputText value="#{record.PIN}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Surname"/>
</f:facet>
<h:inputText value="#{record.SURNAME}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Name"/>
</f:facet>
<h:inputText value="#{record.NAME}"/>
</h:column>
</h:dataTable>
</p>
<h:commandButton value="Submit"/>
</h:form></body>
</html>
</f:view>
My java been is:
package com.steva;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class tabela {
private Connection conn;
private ResultSet resultSet;
public tabela() throws SQLException, ClassNotFoundException {
Statement stmt;
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
resultSet = stmt.executeQuery("SELECT PIN, SURNAME, NAME FROM PERSON");
public ResultSet getPeople() {
return resultSet;
I have instaled “Oracle Database 10g Express Edition Release 10.2.0.1.0” – product on my PC localy. I have enabled HR schema and I have instaled and pupulated with sample data folloving table:
CREATE TABLE "PERSON"
( "PIN" VARCHAR2(20) NOT NULL ENABLE,
"SURNAME" VARCHAR2(30),
"NAME" VARCHAR2(30),
CONSTRAINT "PERSON_PK" PRIMARY KEY ("PIN") ENABLE
I have:
Windows XP SP2
Oracle JDeveloper Studio Edition Version 10.1.3.1.0.3894
I am not shure why this works in that way, but I think that this is a BUG
Thanks in advance.Hi,
I am sorry because of formatting but while I am entering text looks fine but in preview it is all scrambled. I was looking on the Web for similar problems and I did not find anything similar. Its very simple sample and I could not believe that the problem is in SUN JSF library. I was thinking that problem is in some ResultSet parameter or in some specific Oracle implementation of JDBC thin driver. I did not try this sample on any other platform, database or programming tool. I am new in Java and JSF and I have some experience only with JDeveloper.
Java been(session scope):
package com.steva;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class tabela {
private Connection conn;
private ResultSet resultSet;
public tabela() throws SQLException, ClassNotFoundException {
Statement stmt;
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
stmt = conn.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
resultSet = stmt.executeQuery("SELECT PIN, SURNAME, NAME FROM PERSON");
public ResultSet getZaposleni() {
return resultSet;
JSF Page:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1250"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<f:view>
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1250"/>
<title>Stevan</title>
</head>
<body><h:form>
<p>
<h:messages/>
</p>
<p>
<h:dataTable value="#{tabela.zaposleni}" var = "record">
<h:column>
<f:facet name="header">
<h:outputText value="PIN"/>
</f:facet>
<h:inputText value="#{record.PIN}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Surname"/>
</f:facet>
<h:inputText value="#{record.SURNAME}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Name"/>
</f:facet>
<h:inputText value="#{record.NAME}"/>
</h:column>
</h:dataTable>
</p>
<h:commandButton value="Submit"/>
</h:form></body>
</html>
</f:view> -
I have a problem with JDBC Realm in Tomcat/Oracle/Win XP
I have a problem with JDBC Realm in Tomcat.
I have attached my server.xml file located in the
C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml
The Problem is that when I login I get the user name and password prompt but it does not resolve.
When I enter in the tomcat-users.xml password with memory realm uncommented it works fine.
C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\tomcat-users.xml
Is there a cache or something I need to reset for the JDBC Realm to work?
I have attached my tables and contents as well...
Did I miss something????
Thanks
Phil
server.xml
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
</GlobalNamingResources>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"
connectionName="testName" connectionPassword="testPass"
userTable="users"
userNameCol="user_name"
userCredCol="user_pass"
userRoleTable="user_roles"
roleNameCol="role_name" />
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
Tables
create table users
user_name varchar(15) not null primary key,
user_pass varchar(15) not null
create table roles
role_name varchar(15) not null primary key
create table user_roles
user_name varchar(15) not null,
role_name varchar(15) not null,
primary key( user_name, role_name )
select * from users;
----------------------+
| user_name | user_pass |
----------------------+
| tomcat | tomcat |
| user1 | tomcat |
| user2 | tomcat |
| user3 | tomcat |
----------------------+
select * from roles;
| role_name |
| tomcat |
| role1 |
select * from user_roles;
-----------------------+
| role_name | user_name |
-----------------------+
| tomcat | user1 |
| role1 | user2 |
| tomcat | tomcat |
| role1 | tomcat |
-----------------------+Jan 2, 2008 11:49:35 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Jan 2, 2008 11:49:35 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 734 ms
Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.9
Jan 2, 2008 11:49:35 AM org.apache.catalina.realm.JDBCRealm start
SEVERE: Exception opening database connection
java.sql.SQLException: oracle.jdbc.driver.OracleDriver
at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:684)
at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:758)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1004)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
Jan 2, 2008 11:49:35 AM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Jan 2, 2008 11:49:36 AM org.apache.catalina.core.StandardContext resourcesStart -
Problem with JDBC results calling simple stored procedure in VC 7.0
Hi all,
I am building a simple VC model which calls a stored procedure on a JDBC database. I have created the system in the portal, defined the alias and user mapping, the connection test is fine and the VC "find data" lists my bespoke stored procedure.
The stored procedure is :
CREATE PROCEDURE dbo.dt_getBieUsers
AS
select * from dbo.emailuserlink
GO
When I test it using query analyser, it returns 3 records each with the two fields I expect - user and email address.
I drag the model onto the workspace in VC and create an input form ( with just a submit button ). i drag the result port out to create a table. This has no fields in it.
I build and deploy as flex and the app runs, I click the submit button and SUCCESS! I get 3 records in my table each with 2 fields. The data is all correct. The problem with this is the fields are determined at runtime it seems.
I go back to the table and add 2 columns "email" and "address".
i build and deploy and run the app. Again I get 3 records, but this time the contents of all of the rows is not data, but "email" and "address". The data has been replaced by the header texts in all of the rows.
Can anyone help? Why isn't the data being put in my columns as I would expect?
I tried to build and deploy the app as Web Dynpro rather than Flex to see if it was a bug in Flex. The application starts but when I click the submit button to run the JDBC stored procedure I get a 500 Internal Server Error
com.sap.tc.wd4vc.intapi.info.exception.WD4VCRuntimeException: No configuration is defined for the entry JDBCFunction
at com.sap.tc.wd4vc.xglengine.XGLEngine.createComponentInternal(XGLEngine.java:559)
at com.sap.tc.wd4vc.xglengine.XGLEngine.getCompInstanceFromUsage(XGLEngine.java:362)
at com.sap.tc.wd4vc.xglengine.XGLEngine.getCompInstance(XGLEngine.java:329)
at com.sap.tc.wd4vc.xglengine.wdp.InternalXGLEngine.getCompInstance(InternalXGLEngine.java:167)
at com.sap.tc.wd4vc.xglengine.XGLEngineInterface.getCompInstance(XGLEngineInterface.java:165)
The JDBC connection I am using has a connection URL of jdbc:sap:sqlserver://localhost;DatabaseName=BIEUSERS
and a driver class of com.sap.portals.jdbc.sqlserver.SQLServerDriver
Can anyone solve my wierd problems?
Cheers
RichardHi Richard,
After you drag and drop the data service, right click on it and choose "Test data service". Then click on "Execute" and after you see the result on the right, click on "Add fields" button (inside the same window). Now you'll see that the fields are on the tabel. This is required only for JDBC data services, since this data (how the resultset is built) is not know in DT and it needs to be run firest - then analysed and only then you have to add the fields to the table).
Regards,
Natty -
Hi, sorry but in other forum nobody answer my question.
the probles is using JDBC 2.0, my cod is:
Statement c = conn.createStatement();
Statement =conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rest = n.executeQuery("select * from t_prueba");
rest.last();
rest.updateBlob("C", null);
rest.updateRow();
rest.close();c.close();conn.close();
at time to execute this code, i have this error:
java.sql.SQLException: Operaci�n no v�lida para el juego de resultados de s�lo lectura: updateBlob
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.BaseResultSet.updateBlob(BaseResultSet.java:482)
at oracle.jdbc.driver.OracleResultSet.updateBlob(OracleResultSet.java:1230)
at mypackage3.Conversor.leerImagenBase64(Conversor.java:51)
at mypackage3.Conversor.main(Conversor.java:77)
why is this problem if i using ResultSet.CONCUR_UPDATABLE in my statement.
i 'm using jdeveloper 10.1.2 whith j2se 1.4.2_04
please anyone can help me please
tanks
alexThere are numerous problems with what you posted.
1) Do you mean to use updateNull and not what you are doing?
2) As mentioned why would you not do this in an UPDATE query? Even if you get this to work arbitrary moving around in a result set that you don't even need along with bad practices like SELECT * is just bad all around.
3) Further as mentioned what you are trying to do is not supported (obviously) by your driver/database etc. Just because you ASK for a scrollable updatable cursor does not mean that you get one. You ask for one but obviously that error message says that the cursor is read only. For the benefits of others it says (more or less) "invalid operation on read only result set : updateBlob"
Possibly you will have to use a forward only cursor to make it updateable... I don't know consult the Oracle docs. Or better yet don't do it this way. -
Problem With Jdbc-Odbc BRidge Connection
I get The following error
SQLException:[Microsoft][ODBC Driver Manager] Invalid cursor state
when using the code
whats the problem with it
import java.sql.*;
public class Employee {
String DBurl;
Connection con;
public Employee(String url)
DBurl=url;
void queryTest()
String query="SELECT * FROM EmpTable";
ResultSet result;
Statement stmt;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
catch(java.lang.ClassNotFoundException e){
System.err.println("Class not Found Exception:");
System.err.println(e.getMessage());
try{
con=DriverManager.getConnection(DBurl,"myLogin","mypassword");
stmt=con.createStatement();
result=stmt.executeQuery(query);
System.out.println("ID"+"\t"+"Name"+"\t"+"Rate"+"\t"+"DeptID");
System.out.println("--"+"\t"+"----"+"\t"+"---"+"\t"+"----");
while(result.next());
String name=result.getString("Name");
int ID=result.getInt("ID");
float rate=result.getFloat("Rate");
int deptID=result.getInt("DeptID");
System.out.println(ID+"\t"+name+"\t"+rate+"\t"+deptID);
stmt.close();
con.close();
catch(SQLException ex){
System.err.println("SQLException:" + ex.getMessage());
public static void main(String args[])
Employee app = new Employee("jdbc:odbc:Employee");
app.queryTest();
}here's your mistake:
while(result.next()); // <--- the loop body is empty.Remove the semi-colon.
% -
I don't know where the problem originate, the only thing in my memory is that the program worked very well on my PC yesterday, but today, without even slightest change, it doesn't work anymore. As to debug it, I simplified the codes to the least, but it still refuse to work. I was beaten down by this problem totally, and cannot make out any solution for it, so, I come here, hoping to find a warrior to kill this damned bug for me.
My program is a Servlet, but for the purpose of debugging, I have recode it to an Application/Servlet. When run as a application, I can get the result expected, but as a Servlet, :-(, maybe you should see it by yourself. My server software is Tomcat 4.1.15, and the JDK version is 1.4.0. To excute this program, you should add Data Source "Test" to ODBC.
///////////////////////code begins/////////////////////////
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Ex extends HttpServlet
int ErrorType = 0;
String err = new String("");
public static void main(String args[]) throws Exception{
Ex cEx = new Ex();
cEx.init();
System.out.println(cEx.ErrorType);
public void init() {
String url = "jdbc:odbc:Test";
ErrorType = 3; //passed
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
ErrorType = 1; //trapped in Class.forName
try{
Connection c = DriverManager.getConnection(url);
} catch (SQLException e) {
e.printStackTrace();
ErrorType = 2; //trapped in DriverManager.getConnection
err = e.getMessage();
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException {
res.setContentType("text/html; charset=GB2312");
PrintWriter out = res.getWriter();
out.println("Success " + "<p>" + ErrorType + "<p>" +err);
out.close();
//////////////////////////code ends///////////////////////////////
The result from the Servlet tell me that the problem occurred within the connection process, I don't know who should be responsible to this - Tomcat or JDBC?If you could print the exception that you got then that would help :) In the mean time, I could make a guess. It is unlikely that your application server (in this case, Tomcat) is blocking connections from your servlet. So the problem is either with JDBC directly or with the underlying datasource. It seems unlikely that it is JDBC given that you have stated that the code has not changed and it works in application form.
My guess would be that you are coming up against some sort of security constraint (eg: your DBMS is letting you log in from one IP but not another?, your Java plug-in security policy is disallowing the connection?). It's hard to say.
But if it works as an application but not via a servlet then you could try putting this in your java.policy file, which is located in the directory where your plug-ins are installed (eg: "C:\Program Files\Java\<version>\lib\security\") on Windows systems;
permission java.net.SocketPermission "bend xp:1099", "listen,connect,accept";
Try that, see if it works :)
Ben -
Problem with different resultset with same data and same query in Oracle 8.1.7 and 9i
Hello,
I have been using this query in oracle 8.1.7
SELECT
ID,
AREA_NO
FROM MANAGER_AREA MGR
WHERE COMPANY_ID = :id AND
(:value < (SELECT COUNT(ROWID)
FROM MANAGER_WORK MW
WHERE MW.AREA_ID = MGR.ID AND
(MW.END_WORK IS NULL OR MW.END_WORK >= SYSDATE)))
order by AREA_NO;
In the above query I want to see rows from MANAGER_AREA table depending upon date criteria in the table MANAGER_WORK and also upon the parameter :value i.e if I pass a value as 0 I get to see records for which their is atleast 1 record in MANAGER_WORK with the date criteria and if I pass -1 then I get all the records because minimum value that count(*) would give is 0. The resultset was as expected in 8.1.7.
A couple of days back I installed PERSONAL 9i to test for testing the basic functionality of our program with the same data. This query fails and irrespective whether I pass -1 or 0 it returns me same dataset which I would have got in case if I pass 0.
I do not know whether this is a bug that has got introduced in 9i. Can anybody help me with this problem. It would be difficult for me to change the parameter send to this query as the Query is called from many different places.
Thanks in advance
Amol.I cannot use a Group by and a having statement over here. The problem with 'Group by' and 'having' clause is If I have to make a join between the two tables. When I use join then I get only rows that are linked to each other in the table.
If I use outer join to solve that problem then I have to take in consideration the other date condition. My previous query use to virtually discard the corelated query result by using -1 as the value. This will not happen in the join query.
Amol. -
Problem with jdbc:odbc returning incorrect number of rows.
Hello,
Am sure i have done something stupid, but i have an issue with jdbc:odbc ....
It is a simple sceanrio that i have coded umpteen times before ...
I have the following ....
1. Connection to DB2 on an IBM i5 (I apologise for not using native drivers from jt400.jar, but i had an ODBC code example and was in a rush - no excuse i know)
2. Statement object created from connection above
3. A string with my SQL in it
4. A result set for the results.
These are created as follows:
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(ODBCSource, userID, password);
if (con == null) {
// error handling not relevant here
} else {
Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from table";
ResultSet rs = s.executeQuery(SQL);
i then try to loop ....
while (rs.next() )
// stuff
however, i only ever get one result .... if i stick in the check for isLast, the first loop hits this check, i get my little status message, and the loop ends.
while (rs.next() )
if (rs.isLast() )
System.out.println("I am on last record");
BUT if i run the SQL
"select count(*) from table" ... i get a count of 148 !!
I tried setting the FetchSize through setFetchSize(), but made no difference.
This is running on a JBoss server 4.2.1GA, JDK is "jdk1.6.0_02" .... i have a suspicion that this may be a JBoss specfic issue, as this exact code runs just fine on the Domino platform that it was originally on, if this is the case, i apologise for wasting everyones time .... but would still appreciate any pointers you can give me.
CheersHello,
Thanks for the reply, I am not sure i follow what you are saying.
I only mentioned JBoss as it is the application server that we have deployed to and because the orignal code ran fine on a Domino server, I will take your advice and try to run it through in debug rather than running actually on the application server.
Am i incorrect in my assumption that if "select count(*) from table" gives a count of 148, i should expect 148 records in a result set created from "select * from table" ? This is all rather new to me so i apologise if this is incorrect, I'd love to know why this is incorrect so i dont make similar mistakes in future.
Also, If i run this same code on the previous platform, i get 148 iterations of the code contained within
while (rs.next() ) { ... }
When the war file is deployed to JBoss, the same SQL statement gives a result set that only iterates once for
while (rs.next() ) { ... }
The previous platform as I say was domino, but it was running as a lotus notes java agent (despite not using any notes documents etc) as it happened to be where the web pages that call this process were located. It is possible that some of the main code has changed as I had cut and paste the code into a servlet using MyEclipse, but i have double checked the bit that does this SQL request and it is identical
To complete the picture, the new servelt is then called from the action tag on the submit form on a JSP, when it ends the servlet redirects via the requestdispacher to success or failure jsp pages depending on the outcome of the processing.
Thank you again for your help. -
Problem with scrollable resultset of oracle
I encountered problom like this:
when I use
s=createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
and getString of a resultset,I get the right data.
However ,when I use
s= createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
and getString of a ResultSet ,
if the type of the field is Date,then get right data.
if it is char or varchar2,then i get some thing like
0x313233,
all has been found in win2000&solaris
with oracle 8.1.6
thanks a lot!Hello,
We've got the same problem.
It comes from the National Character Set of Oracle Database.
With WE8ISO8859P1, no problem with using this parameters.
But with WE8ISO8859P9, we have some hexadecimal return.
I don't know if it's works with another Character set, but with this, It doesn't work.
We're trying to find a solution. Because change the character set is not one.
Good luck. -
Problems with jdbc and .jar files.
I am having a problem with connecting to my database when running my .jar file as an executable.
It connects correctly when I use the java command in command prompt and it also runs correctly when using my IDE.
Is there something that needs to be added to the manifest or in the code it self inorder for the program to find the JDBC driver correctly?This is the error message that I get:
java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at AboutFrame2$Connect.getConnection(AboutFrame2.java:109)
at AboutFrame2$Connect.displayDbProperties(AboutFrame2.java:127)
at AboutFrame2.<init>(AboutFrame2.java:72)
at MainStartFile2.main(MainStartFile2.java:7)
Error Trace in getConnection() : net.sourceforge.jtds.jdbc.Driver
Error: No active Connection
I think that it is because it cannot find the driver. I am going to add the path to the manifest and see if that works thank you for all the help. -
Do_open() problem with JDBC oci8 driver
I am using the JDBC-OCI driver for NT (jdbc817jdk12-nt.zip). I get a 'unresolved link error': do_open() exception stack trace when I connect to the Oracle 8i DB. I can connect successfully via SQLPlus to the same. I have Oracle 8.1.7 client installed on the system. I also have my PATH pointing to the ORACLE_HOME/bin directory where the ocijdbc8.dll is located.
Prelimnary analysis shows that the driver's Java layer is not finding the method do_open() in the .dll via JNI.
How do I resolve this?. Thanks.Hi Balakris;
I am experiencing the same problem with OCI8. Since you posted your message over 2 weeks ago I am hoping you have solved the problem. If so could you add the solution to this topic?
Thanks
Vadim
null -
Problem with JDBC Connection for HDB hanadb 02
Hi folks,
Ok I have an instance based on the 7.4 SP5 HANA CAL solution.
But when I suspend and restart the R3 system doesn't start again.
I've followed the instructions in the user guide and can access the backend instance and see that for HDB GetProcessList everything is GREEN, running
while for A4H GetProcessList everything is GREY, stopped
When I try to start the A4H instance I get
Checking HDB database
Database is not available via R3trans
Database must be started first
The messages I found on SCN suggested this might be a license problem with the HANA database, so I tried to follow the install license instructions for the HANA database via the HANA studio, but when I try to open the HDB(SYSTEM) > Properties > Licence, I then get the messages
Error while reading the licence information from system HDB hanadb 02
Reason:
Cannot retrieve JDBC Connection for HDB hanadb 02
So what do I try now?
Any suggestions?
Rgds,
JocelynThanks Ivanka! That sorted it.
For the benefit of others...the error message was found in the server log files
/var/log/applianceagent.log
/var/log/appliancedeploy.log -
I'm having problems registering jdbc drivers. I've been trying to register the microsoft Sql Server 2000 jdbc driver so that I can create a connection in my code rather than using entity beans. I've set the CLASSPATH variable to point to the driver's .jar files in the install directory with no success.
I've connected to the database using the driver via the IDE' s Runtime and it tests ok and allows me to create a database schema ok. (I had to copy the driver files to the sun/studio5u1_se/lib/ext dir to enable this) Is there a location I can unpack the drivers .jar files which will make the driver available?
I have also tried setting the CLASSPATH variable to point to the above mentioned directory..but that didn't work either. Can anyone help?
These are the exception messages that I get
java.lang.ClassNotFoundException: com.pointbase.jdbc.jdbcUniversalDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at Portfolio.DriverTest.getConnection(DriverTest.java:43)
at Portfolio.DriverTest.main(DriverTest.java:102)
Error Trace in getConnection() : com.pointbase.jdbc.jdbcUniversalDriverIf u type in command line
java -classpath .;<directory containing the driver>
it executes your class file properly
note that <directory containing the driver> is the full path to your driver. I mean, the directory that contains your driver\drivername
eg:
java -classpath .;c:/driver/drivername
don�t forget to put the "dot" before semicolon. If u forget it, java won�t find your class file. your class file must be at the directory you�re executing the command
I need to configure my sun studo ent. to locate my jdbc driver for mySQL. I don�t know where this can be made. If any of you know. please report me -
Update problems with jdbc on access db too
hi..
i have a strange problem with updating a record in ms-access - db by using jdbc.
my program creates a "correct??" update-statement but i get an error-message: errorcode:3144.. syntaxerror in update-statement or something like that..
thats the statement that my program creates:
update maX2 set m1='super',set m2='hallo' where id=2
java-code:
Statement stmt = con.createStatement();
stmt.executeUpdate(... the update-statement ...);
does anybody know why i get this errormessage?Your statemente should be:
update maX2 set m1='super', m2='hallo' where id=2
HTH
Maybe you are looking for
-
My Iphone 4S no longer connects to wifi networks
My smart-phone is not so smart and hasn't been since the last OS update. I've tried to decipher where the problem is and it appears it occurs on networks where there is a "pop-up" asking you your log-in credentials (ie. airport hotspots, cable ho
-
Can I trash a file from the hard drive after importing into iMovie HD 6?
I created some DV video files using MPEG Streamclip. I imported them into iMovie HD 6. Can I now put those DV files in the trash and empty the trash, to free up disk space, and still be able to do whatever I want with them in iMovie HD 6?
-
hi all, Can any body suggest me the report through which I can get the customer master data WITH EMAIL ID FIELD. regards, satish.
-
MB_DOCUMENT_BADI not triggring in ECC 6.0 version
Hi All, We are upgrading our SAP R3 from 4.6c to ECC 6.0. In the new system, Transaction SE18 now has two options 1. Enhancement spot 2. BAdI Name When I display my BADI MB_DOCUMENT_BADI Attributes tab shows BAdI migrates to enhancement spot MB_GOODS
-
Link menu buttons to subtitles??
Hi! I've got a pretty big problem. I created a new DVD-project with Encore CS3 and imported subtitles in two languages, english and portuguese. Now I have the idea, that the user of this DVD can select the subtitles in a submenu. As it is often used