ResultSet.getString() returning null.
I'm using a PreparedStatement to select 1 row/10 columns from a
table. The first time I getXXX() my values all is fine. I close
the result set, clear the parameters and set the one variable on
the statement and executeQuery. I can now read about 3 getXXX()
and then the remaining getString() calls return null.
The problem occurs when using the 1.1.1 thin driver but NOT when
using an jdbcodbc driver.
Any thoughts?
Thanks, Frank
PS: Please respond to my email address of [email protected]
as well.
null
I believe there is/was a bug where once a NULL column value was
retrieved, it would corrupt the ResultSet data (i.e. you will get
NULL from then on). Not sure if this was resolved in a driver
patch yet or not. Try downloading the latest version of the THIN
driver.
null
Similar Messages
-
ResultSet.getString() returns only 2000 characters
Hi
I am using the JDBC (1.0 API) thin client version with Oracle 8.0.6 and one of my table columns uses the datatype VARCHAR2(4000). When inserting, I can insert values correctly but when I read values from this column (using rs.getString("col_name") or rs.getAsciiStream("col_name")), i can only read the first 2000 characters. How can I read all the data in the column...
thanks,
-aravind
(i can view all the data when I use Delphi SQL-Explorer so I know that the data has been entered correctly)Hello Argyn,
I have a similar problem with you but with Greek characters.
Try this:
When you write into oracle use:
conn.statement.executeQuery("insert into testlang (Text_1) values (" + new String(sS.getBytes(),"UTF-8") + "')");
When you read from oracle use:
String sS = new String(resultSet.getBytes(i), "XXXX");
Where XXXX is the encode character set that you want.
(Note: getBytes work only if your ResultSet is not Scrollable)
Please let me know if this help you.
Piperis
My problem is that I want to store Greek Characters in a way that I can read them via sqlplus too.
By encoding when I write and decode them when I read doesn't satisfy me... any help!!! -
Why ResultSet getDate() method returns null when querying .csv file?
Here is the full code:
import java.sql.*;
import java.sql.Types;
import java.sql.Date;
import myjava.support.CachedRowSetMaker;
import javax.sql.rowset.CachedRowSet;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
class jdbc2{
final private String s1="SELECT top 10 [DATE], [ADJ CLOSE] FROM [vwo-1.csv]";
private ResultSet result=null;
private Connection conn=null;
public static void main(String[] args) throws SQLException{
jdbc2 db=new jdbc2();
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
db.conn = DriverManager.getConnection("jdbc:odbc:STOCK_DATA");
PreparedStatement sql=db.conn.prepareStatement(db.s1);
db.result=sql.executeQuery();
// check column names and types using the ResultSetMetaData object.
ResultSetMetaData metaData = db.result.getMetaData();
System.out.println("Table Name : " + metaData.getTableName(2));
System.out.println("Field\t\tDataType");
for (int i = 0; i < metaData.getColumnCount(); i++) {
System.out.print(metaData.getColumnName(i + 1) + "\t");
System.out.println(metaData.getColumnTypeName(i+1));
System.out.print(metaData.getColumnName(1) + "\t"+metaData.getColumnName(2)+"\n");
while (db.result.next()){
System.out.print(db.result.getDate("DATE", Calendar.getInstance()));
System.out.format("\t%,.2f\n", db.result.getFloat("Adj Close"));
catch (Exception e) {
System.out.println("Error: " + e.getMessage());
finally {
db.result.close();
db.conn.close();
Everything works well, until getting to the block
while (db.result.next()){
System.out.print(db.result.getDate("DATE", Calendar.getInstance()));
System.out.format("\t%,.2f\n", db.result.getFloat("Adj Close"));
The getDate("DATE", Calendar.getInstance())); always returns null, instead of the date value in the vwo-1.csv.
Even though I change it to
java.sql.Date d=db.result.getDate("DATE") and convert to String using .toString(), I still gets nulls. The dollar amount in "Adj Close" field is fine, no problem.
The .csv fils is downloaded from YahooFinace.
Can anyone review the code and shed some light as to what I did wrong?
Thanks alot.CREATE TABLE `login` (
`username` varchar(40) DEFAULT NULL,
`password` varchar(40) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `amount` (
`amountid` int(11) NOT NULL,
`receiptid` int(11) DEFAULT NULL,
`loanid` int(11) DEFAULT NULL,
`amount` bigint(11) DEFAULT NULL,
`latefee` int(11) DEFAULT NULL,
`paymentid` int(11) DEFAULT NULL,
`pid` int(11) DEFAULT NULL,
PRIMARY KEY (`amountid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `applicationfee` (
`applicationfeeid` int(11) DEFAULT NULL,
`applicationamount` int(11) DEFAULT NULL,
`applicationfee` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `category` (
`categoryid` int(11) DEFAULT NULL,
`categoryname` varchar(40) DEFAULT NULL,
`categorydescription` varchar(500) DEFAULT NULL,
`cattype` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `commission` (
`commissionid` int(11) DEFAULT NULL,
`bussiness` int(11) DEFAULT NULL,
`commission` int(11) DEFAULT NULL,
`pid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `customer` (
`cacno` int(11) NOT NULL DEFAULT '0',
`name` varchar(40) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`cphone` varchar(40) DEFAULT NULL,
`cmobile` varchar(40) DEFAULT NULL,
`caddress` varchar(500) DEFAULT NULL,
`cstatus` varchar(20) DEFAULT NULL,
`cphoto` longblob,
`pid` int(11) DEFAULT NULL,
PRIMARY KEY (`cacno`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `daybook` (
`closingbal` varchar(40) DEFAULT NULL,
`date` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `extraincome` (
`categoryid` int(11) NOT NULL,
`receiptid` int(11) DEFAULT NULL,
`date` date DEFAULT NULL,
`amountid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `employee` (
`empno` int(11) DEFAULT NULL,
`empname` varchar(40) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`sal` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `image` (
`id` int(11) DEFAULT NULL,
`image` blob
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `loan` (
`loanid` int(11) NOT NULL DEFAULT '0',
`loanamt` varchar(40) DEFAULT NULL,
`payableamount` double DEFAULT NULL,
`installment` int(11) DEFAULT NULL,
`payableinstallments` int(11) DEFAULT NULL,
`monthlyinstallment` varchar(20) DEFAULT NULL,
`surityname` varchar(20) DEFAULT NULL,
`applicationfeeid` int(11) DEFAULT NULL,
`interestrate` float DEFAULT NULL,
`issuedate` date DEFAULT NULL,
`duedate` date DEFAULT NULL,
`nextduedate` date DEFAULT NULL,
`cacno` int(11) DEFAULT NULL,
`cname` varchar(20) DEFAULT NULL,
`pid` int(11) DEFAULT NULL,
`interestamt` double DEFAULT NULL,
`pendingamt` float DEFAULT NULL,
PRIMARY KEY (`loanid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `md` (
`mdid` int(11) NOT NULL DEFAULT '0',
`mdname` varchar(40) DEFAULT NULL,
`mdphoto` varchar(100) DEFAULT NULL,
`mdphone` varchar(40) DEFAULT NULL,
`mdmobile` varchar(40) DEFAULT NULL,
`mdaddress` varchar(500) DEFAULT NULL,
PRIMARY KEY (`mdid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `partner` (
`pid` int(11) NOT NULL DEFAULT '0',
`pname` varchar(40) DEFAULT NULL,
`paddress` varchar(500) DEFAULT NULL,
`pphoto` varchar(100) DEFAULT NULL,
`pphone` varchar(40) DEFAULT NULL,
`pmobile` varchar(40) DEFAULT NULL,
`pstatus` varchar(20) DEFAULT NULL,
`mdid` int(11) DEFAULT NULL,
`mdname` varchar(40) DEFAULT NULL,
`date` date DEFAULT NULL,
`nextpaydate` date DEFAULT NULL,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `partnerinvested` (
`pid` int(11) DEFAULT NULL,
`pname` varchar(20) DEFAULT NULL,
`receiptid` int(11) DEFAULT NULL,
`date` date DEFAULT NULL,
`amountinvested` int(11) DEFAULT NULL,
`latefee` int(11) DEFAULT NULL,
`amountid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `payments` (
`paymentid` int(11) NOT NULL,
`categoryid` int(11) DEFAULT NULL,
`particulars` varchar(100) DEFAULT NULL,
`amountid` int(11) DEFAULT NULL,
`paymentdate` date DEFAULT NULL,
PRIMARY KEY (`paymentid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `receipts` (
`receiptid` int(11) DEFAULT NULL,
`paiddate` date DEFAULT NULL,
`amountid` int(11) DEFAULT NULL,
`loanid` int(11) DEFAULT NULL,
`latefee` int(11) DEFAULT NULL,
`installment` int(11) DEFAULT NULL,
`cacno` int(11) DEFAULT NULL,
`cname` varchar(40) DEFAULT NULL,
`pid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; -
Resultset returns null while calling a DB2 stored procedure using hibernat
Hi All ,
I am trying to call a db2 stored proc with cursor open from my java code but it always returns me null results though it executes fine when I call the procedure from the command line
Java code....................
CallableStatement stmt3 = EyeHibernateApp.getHibernateSession().connection().prepareCall("{call answers_select_id( ? )}");
stmt3.setString(1,20);
stmt3.execute();
ResultSet rs1 = stmt3.getResultSet();
System.out.println("rs1 " + rs1); --> returns null
procedure-------------
CREATE PROCEDURE answers_select_id (IN question_id bigint )
P1:BEGIN
DECLARE cursor1 CURSOR WITH RETURN TO CLIENT FOR
SELECT a.answer_id from answers as a where a.question_id = question_id;
open cursor1;
END P1;
I am using the same java code with mysql stored procs . It works fine there but I assume open cursors in db2 stored proc is causing the problem . If I can help it , I need to maintain the same java code for mysql ad db2 . Please help me ...
Thanks,
Av~Hi,
I am trying to do something like this but with Oracle stored procedure which returns an associate array and a cursor and these are defined as INOUT. I am not finding a way how to do it with editable row set. Can you plese list the steps used to make things work.
Thanks. -
Resultset returns null while calling a DB2 stored procedure using hibernate
Hi All ,
I am trying to call a db2 stored proc with cursor open from my java code but it always returns me null results though it executes fine when I call the procedure from the command line
Java code....................
CallableStatement stmt3 = EyeHibernateApp.getHibernateSession().connection().prepareCall("{call answers_select_id( ? )}");
stmt3.setString(1,20);
stmt3.execute();
ResultSet rs1 = stmt3.getResultSet();
System.out.println("rs1 " + rs1); --> returns null
procedure-------------
CREATE PROCEDURE answers_select_id (IN question_id bigint )
P1:BEGIN
DECLARE cursor1 CURSOR WITH RETURN TO CLIENT FOR
SELECT a.answer_id from answers as a where a.question_id = question_id;
open cursor1;
END P1;
I am using the same java code with mysql stored procs . It works fine there but I assume open cursors in db2 stored proc is causing the problem . If I can help it , I need to maintain the same java code for mysql ad db2 . Please help me ...
Thanks,
Av~Hi,
I am trying to do something like this but with Oracle stored procedure which returns an associate array and a cursor and these are defined as INOUT. I am not finding a way how to do it with editable row set. Can you plese list the steps used to make things work.
Thanks. -
Column exist but ResultSet.getString(String) return invalid column name
With oracle 7 db the ResultSet.getString(String) works fine but after the upgrade to oracle 8 db it return invalid column name. ResultSet.getString(int) method works fine.
Is this a bug in the driver?
Thanks
-RedaYes I'm 100 % sure that the columns exist.
-RedaWell then maybe it's a bug in the Oracle driver. Lord knows it wouldn't be the first time that's happened. -
How is ResultSet.getString() SUPPOSED to return BINARY types?
Hello All:
I got a legacy code to support. The code uses ResultSet.getString() to retrieve BINARY data. ORACLE JDBC driver converts binary data to their hexadecimal representation. It also behaves "correctly" in this sense when I use setString() on prepared statement for BINARY field: it converts valid hexadecimal strings to binary data and rejects strings which contains non-HEX digit characters with SQLException (btw if I give it an odd number of hexadecimal digits, it adds a zero digits FROM THE LEFT e.g. DDDDDDDDDDDDDDDDDDDDDDD becomes 0DDDDDDDDDDDDDDDDDDDDDDD).
My question is: is all this behavior documented somewhere in JDBC specification and if not how other databases and drives behave on this matter. The code will be possibly used with other databases and I want to know if I can expect some definite behaviour or this is all implementation-specific? I found in JDBC specs that getString() can be used for BINARY data -- but not what it is supposed to return? Even Oracle JDBC documentation does not specify the behavior I discovered -- it just works like that but can I be sure it will be preserved in further versions? Should we raise an issue with Sun to clarify the JDBC specs?
Any ideas/references? Please share your experience with different databases/drivers. Mine is Oracle 8.0.5.1.0, JDBC driver version is 9.0.1.0.0.
PavelYou can download the JDBC docs from the sun site. I didn't find anything in it which documented the behavior you indicated.
-
ResultSet.getString(String) doesn't return the right text from database
Hi everybody,
I'm trying to read some text in Portuguese from a MS-Access database, but the special characters for Portuguese aren't correctly translated by ResultSet.getString(String).
Here's my piece of code:
private static void fetchEquipamentoEstabelecimento()
try
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(
" SELECT Eqp.NumSerie, Eqp.Estabelecimento, Estab.Nome, Estab.Cidade, Eqp.Data, Eqp.LPN " +
" FROM Equipamento Eqp, Estabelecimento Estab " +
" WHERE TabPreco = 23 " +
" AND Eqp.Estabelecimento = Estab.Estabelecimento " +
"ORDER BY NumSerie DESC");
while(rs.next())
String nome = rs.getString("Nome");
System.out.println(rs.getLong("NumSerie") + " " +
rs.getDate("Data") + " " +
rs.getString("LPN") + " " +
nome + " " +
rs.getString("Cidade"));
stmt.close();
catch(SQLException ex)
printSQLException("fetchEquipamentoEstabelecimento()", ex);
The output of this piece of code is 1 record joined from tables Equipamento and Estabelecimento:
111222333 2001-12-15 JHK Pal<X>cio Cristal Guarda
where the <X> is the greek letter beta. I was expecting a
portuguese character which is an a with an accent: � (I hope the character was correctly displayed for you)
I tried replacing
String nome = rs.getString("Nome");
with
String nome = new String(rs.getString("Nome").getBytes(),codepage);
with codepage="Cp860" (MS-DOS Portuguese)
and codepage="Cp037" (USA, Canada (Bilingual, French), Netherlands, Portugal, Brazil, Australia)
but other strange characters were displayed instead of the a with an accent.
In the MS-Access table Estabelecimento, the column Nome has a Data Type of Text.
I'm using:
- JDK 1.2.2
- MS Access 2000 (in Windows 2000)
MS Access 97 (in Windows NT 4.0).
Any help is deeply apreciated.Hi!
When you establish connection to database, try explicitly give instructions about what encoding use your DB, e.g.:
// connection properties
Properties connInfo = new Properties();
connInfo.put("user", username);
connInfo.put("password", password);
connInfo.put("charSet", "Cp1251"); // enter your codepage!!!
// getconnection
Connection db = DriverManager.getConnection(dataurl, connInfo); -
Resultset next() return true even there's not record
Here's the code:
public Object getColumn(String s) throws SQLException {
Object o = null;
ResultSet r = db.select(s); // a db rpocess return a resulset
int Columns = r.getMetaData().getColumnCount();
if (Columns == 1) {
Vector v = new Vector();
while (r.next()) {
v.add(r.getString(1));
o = v;
} else if (Columns == 2) {
Hashtable h = new Hashtable();
while (r.next()) { // <----problem in this line =============
h.put(r.getString(1), ( (r.getString(2) == null) ? "" : r.getString(2)));
o = h;
return o;
j2se 1.4.1 (with the Jbuilder8) and hsqldb 1.7.1
actually, it works if we got records in the resultset, but the next() is true even there's not record returned.Nothing to do with your problem but this line could cause other problems
h.put(r.getString(1), ( (r.getString(2) == null) ? "" : r.getString(2)));You are retrieving the same column twice. Some JDBC drivers throw an exception if you try doing this. -
GetString returning 0.0
How do I solve the problem with ResultString.getString returning 0.0
instead of 0.
I retrieve data from a column of type
number(10).
Rickard Eneroth
WM-data
[email protected]
null@Op. Strange select you got there.
select * from some_table where modification_date < ?
Then use a prepared statement and set the date that you want. -
Binding for "File Content Repository Path" is returning null value
I have created a data control for file based content repository based on an existing file system path. *But when this data contol is invoked the command "#{bindings['getURI_returnURI'].inputValue}" is returning null.*+
Please advice what are possible scenarios. I have performed the following
#1. Create a file system folder in windows XP named "C:\CPContentRepository" and add some html pages into this folder.
#2. Create a "content" project in the application.
#3. Create a "Content Repository Data Control" named "CPFileContentRepository". Repository Type : "File System", Base Path : "C:\CPContentRepository". Test & Registration is successful.
#4. Add a "panel horizontal" into jsf jsp "ContentTest" page & drap-dop data control "CPFileContentRepository--> getURI(String)--> Return--> URI". select return type as "ADF Output Text".
#5. Edit Authorization of the "ContentTest" page definition for "View --> anyone".
#6. Edit Authorization of the "ContentTest" page definition bindings "getURI" for "Invoke --> anyone".
#7. Run the "ContentTest" page. The output for the page is empty.
Regards,
VikkiThere're two major problems in your code. One you have used different names to get your parameters like in your first jsp they're like
<input type="text" name="did" size="20" </p>
<p align="center"> </p>
<p align="center"><b>Name </b>
<input type="text" name="name" size="20"></p>
<p align="center"> </p>
<p align="center"><b>Specialist In
<input type="text" name="specialist" size="20"></b></p>
<p align="center"> </p>
<p align="center"><b>Address
<input type="text" name="address" size="20"></b></p>
<p align="center"> </p>
<p align="center"><b>Phone no.
<input type="text" name="phno" size="20"></b></p>
<p align="center"> </p>but when you're getting you're doing it like this
String name = request.getParameter("name");
String did = request.getString("did");
String add = request.getParameter("add");
String specilist = request.getParameter("specilist");
String phno = request.getParameter("phno");First get them with same name as you have them in your first jsp. another thing in that you're not used form tag in write way... You have created submit button in some other form
and when you're pressing submit button actully you're submitting only that form value and your form1 is not submitted that's why you're getting null values for
those parameters you're getting with right name -
Data truncation when using resultset.getString() to a char type field
In my table ,there is a char type field,such as a char(4) field, for multilanguage use,I put two "double-byte" character in it,
when I using resultset.getString() to this char type field,I can't get the right result,one char was truncated, so I only get three char, for "double-byte" it 's error code
this only happen on IBM JVM on AIX 5 , when I use oracle jdbc on windows hotspot vm , it works fine (we use the same oracle on AIX)
is there any further setting for JDBC driver on AIX ? but it 's thin driver
and the varchar type works fine at any paltform
any help ?Hi jul!!!
write like this:
DATA : wa_flight_data TYPE bapisfldat,
wa_add_info TYPE bapisfladd,
wa_availability TYPE bapisflava,
it_ret TYPE STANDARD TABLE OF bapiret2,
wa_ret TYPE bapiret2.
PARAMETERS : pa_carr TYPE sflight-carrid,
pa_conn TYPE sflight-connid,
pa_date TYPE sflight-fldate.
CALL FUNCTION 'BAPI_FLIGHT_GETDETAIL'
EXPORTING
airlineid = pa_carr
connectionid = pa_conn
flightdate = pa_date
IMPORTING
flight_data = wa_flight_data
additional_info = wa_add_info
availibility = wa_availability
TABLES
*EXTENSION_IN =
*EXTENSION_OUT =
return = it_ret.
write : / 'Flight Data: ',
wa_flight_data-AIRLINEID,
wa_flight_data-AIRLINE,
wa_flight_data-CONNECTID,
wa_flight_data-FLIGHTDATE,
wa_flight_data-AIRPORTFR,
wa_flight_data-CITYFROM,
wa_flight_data-AIRPORTTO,
wa_flight_data-CITYTO,
wa_flight_data-DEPTIME,
wa_flight_data-ARRTIME,
wa_flight_data-ARRDATE,
wa_flight_data-PRICE,
wa_flight_data-CURR,
wa_flight_data-CURR_ISO.
similaryly for wa_add_info and wa_availability.
becoz u r using work area directly in WRITE statement and
wa_flight_data TYPE bapisfldat,
wa_add_info TYPE bapisfladd,
wa_availability TYPE bapisflava,
contains both int and char data so u can print all of them together..They can be printed field by field.
if any doubts..let me knw.
hope it helps.
kindly rewrd. -
Re: ResultSet not returning same data
Thanks to all who offered thoughts / advice on my post yesterday. For those interested here is what I found.
The Problem -
String data stored in MSSQL7 DB, transferred to MySQL4 DB, then pulled for an application did not match. Tests proved that the data IN the DB matched.
What I found -
Strings that were using unique chars such as French and German accent chars were NOT being returned correctly. It seems that when I call
ResultSet.getString() using my SQL7 DB driver I would get a different result than when calling the same method in my MySQL4 Driver.
To fix the problem I had to use
String myString = new String(
ResultSet.getBytes()
);It seems that the DB driver was "assuming" what I wanted when using getString().
Further tests proved that...
MySQL DB Driver
getString() == new String(getBytes()) true
SQL7 Driver
getString() == new String(getBytes()) false
Just in case anyone was interested.
Thanks for listening.
STIn MySQL you can configure the charset used by the database. The default is "latin1", and if you have the correct data in your program, you can just use getString() and setString(). That setup handles strings with French and German accented characters, I know that because I have a program that does it.
Perhaps your MS SQL configuration isn't working right? I don't have any experience on how to set that up. -
MsSQL 2000+Resultset.getString()
Guys,
I really need help for this issue. Here is the problem:
- I am using Java 1.3.1/SE + EE
- I have Ms SQL/2000
This is the java code:
Connection conn = null;
String name;
try
conn = connectionPool.getConnection();
Statement statement = conn.createStatement();
ResultSet results = statement.executeQuery
("select * from USERAUTHENTICATION");
while (results.next())
name = results.getString("UserID");
statement.close();
finally
if (conn != null)
When java runs results.getString("UserID"), it gives this error:
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index
It is weird because this code works under Oracle database.
I will appreciate any help.
PS. I am not expert a Java programmer. So if you have an answer, please give a little bit detail.
Thank you
MuratThanks for the answer. I am sure that the column name and my text are exactly the same. The column is VARCHAR.
Let me give more info:
- One thing I noticed is that Resultset.getDate() works properly.
- Resultset.getString() does not work for none of varchar type in SQL.
I make the connection that way:
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception ignore) {}
connectionPool = new MyConnectionPool(
"jdbc:odbc:MYDATABASENAME", "sa", "");
I am just wondering weather jdbc.odbc works properly or not.
Thank you
Murat -
EjbFindByPrimaryKey returns null
Hello,
We are writing an BMP in 6.1 SP 2. The ejbLoad perfectly loads the data.
From the Remote using the getPrimaryKey() to get the PrimaryKey. That key
is passed to the findByPrimaryKey(PK) call. But, it returns the following.
I have the db-is-shared to false in weblogic-ejb-jar.xml. It looks like it
is returning null and I don't understand why it is doing like this. Whether
it is because, it is not able to find the object through the
findByPrimaryKey or I am making any mistakes.
I even system.out.println inside the ejbFindByPrimaryKey and the key is not
null, it is having the value. Any help is greatly appreciated.
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 1
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - refresh - 1 : PFINA - false
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@e5a5f - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
Start server side stack trace:
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
at
weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.
java:443)
at
weblogic.ejb20.manager.BaseEntityManager.remoteFindByPrimaryKey(BaseEntityMa
nager.java:376)
at
weblogic.ejb20.internal.EntityEJBHome.findByPrimaryKey(EntityEJBHome.java:33
2)
at
mcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl.findByPrimaryKey(RBMCustomBean_oc
yn82_HomeImpl.java:99)
at mcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl_WLSkel.invoke(Unknown
Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:93)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at
weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:166)
at
weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java:92)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:112)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:262)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:229)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy80.findByPrimaryKey(Unknown Source)
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:173)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
JSP Exception : java.lang.NullPointerException
java.lang.NullPointerException
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:181)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Thanks,
GaneshSentence fragments.
Missing predicates.
It's a bit hard trying to understand your questions.
In BMP you write the ejbFindByPrimaryKey method. Your job in that method is
to verify that it exists in the DB and throw an ObjectNotFoundException if
not. You return the valid PK (the one passed in) if it does exist. So, what
exactly is returning null?
"Ganapathy Sankaran" <[email protected]> wrote in message
news:[email protected]...
Hello,
We are writing an BMP in 6.1 SP 2. The ejbLoad perfectly loads the data.
From the Remote using the getPrimaryKey() to get the PrimaryKey. That key
is passed to the findByPrimaryKey(PK) call. But, it returns thefollowing.
I have the db-is-shared to false in weblogic-ejb-jar.xml. It looks like it
is returning null and I don't understand why it is doing like this.Whether
it is because, it is not able to find the object through the
findByPrimaryKey or I am making any mistakes.
I even system.out.println inside the ejbFindByPrimaryKey and the key isnot
null, it is having the value. Any help is greatly appreciated.
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 1
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - refresh - 1 : PFINA - false
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@e5a5f - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
Start server side stack trace:
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
at
weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.
java:443)
at
weblogic.ejb20.manager.BaseEntityManager.remoteFindByPrimaryKey(BaseEntityMa
nager.java:376)
at
weblogic.ejb20.internal.EntityEJBHome.findByPrimaryKey(EntityEJBHome.java:33
2)
at
mcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl.findByPrimaryKey(RBMCustomBean_oc
yn82_HomeImpl.java:99)
atmcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl_WLSkel.invoke(Unknown
Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:93)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at
weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:166)
at
weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java:92)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:112)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:262)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:229)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy80.findByPrimaryKey(Unknown Source)
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:173)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
JSP Exception : java.lang.NullPointerException
java.lang.NullPointerException
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:181)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Thanks,
Ganesh
Maybe you are looking for
-
How to use XML bean in 9.1 web service.
hi, im trying to deploy a small web service with only one method in WLS 9.1. That method accepts an XMLbean as the input parameter and returns the same type of xmlBean as the output. how can i specify the name of corresponding .xsd file in the ant sc
-
<%@ page contentType="text/html;charset=windows-1252" errorPage = "error.jsp"%> <%@ page import="java.sql.*,java.io.*,javax.sql.*, mypackage1.*"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <tit
-
hi, I just want to know if it's possible to declare many ejb in the ejb-jar.xml file. Thanks Augustin Lapraline
-
WHEN I CREATE SOURCE SYSTEM IN BW
Hi, When i create source system in BW it is automatically saying that it has RFC Destination already exists in the source system. Do you want to transfer,check this destination or cancel the source system? it has three option copy,check,cancel
-
Help - save smart folder window disappearing
Dear friends I have a really big problem with saving smart folders : i do all the steps until I press "save" - at that point the save widow only appears for 1 second and than disappears so I am unable to specify the location where I want to same the