Your JDBC code does not match what iBATIS is doing. Try this:
try {
cn = ds.getConnection();
pst1 = cn.prepareStatement("select * from t_softwares");
rs1 = pst1.executeQuery();
while(rs1.next()) {
System.out.println("software:" + rs1.getString(1));
pst2 = cn.prepareStatement("select * from t_categories");
rs2 = pst2.executeQuery();
while(rs2.next()) {
System.out.println("category:" + rs2.getString(1));
}
rs2.close();
pst2.close();
}
rs1.close();
pst1.close();
}
Jeff Butler
On Tue, Apr 15, 2008 at 10:36 PM, nepalon <[EMAIL PROTECTED]> wrote:
>
> I try the code and it work well.At first, I get Connection using
> DriverManager and work well.I think the bug maybe cause by DataSource that
> return Connection from pool,so I try to get Connection using
> DataSource,but
> it work well too.So I still believe the exception causing by iBatis.
>
> Connection cn = null;
> PreparedStatement pst1 = null;
> PreparedStatement pst2 = null;
> ResultSet rs1 = null;
> ResultSet rs2 = null;
> DataSource ds =
> (BasicDataSource)ctx.getBean("cmsDbcpDataSource");
>
> try
> {
> //
> Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
> // cn =
>
> DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/macconverter",
> "sa", "iloveyou");
> cn = ds.getConnection();
> pst1 = cn.prepareStatement("select * from t_softwares");
> rs1 = pst1.executeQuery();
> while(rs1.next())
> {
> System.out.println("software:" + rs1.getString(1));
> }
> pst2 = cn.prepareStatement("select * from t_categories");
> rs2 = pst2.executeQuery();
> while(rs2.next())
> {
> System.out.println("category:" + rs2.getString(1));
> }
> }
> catch(Exception e)
> {
> e.printStackTrace();
> assertTrue(false);
> }
> finally
> {
> try {
> rs1.close();
> rs2.close();
> pst1.close();
> pst2.close();
> cn.close();
> }
> catch (SQLException e)
> {
> }
> }
>
> Larry Meadors wrote:
> >
> > Google for "sql 2005 HY010 jdbc -db2", and you'll get more info - it
> > looks like you're not the first person to get this error, but I didn't
> > see anything that led me to believe that this is a bug in iBATIS -
> > more likely an issue with the driver, possibly configuration.
> >
> > Try simplifying the mapped statement and/or doing the query with JDBC
> > instead and see what happens.
> >
> > Larry
> >
> >
> > On Mon, Apr 14, 2008 at 11:46 PM, nepalon <[EMAIL PROTECTED]> wrote:
> >>
> >> I am sure my DB is configured to allow more than one ResultSet open.As
> >> you
> >> see in the above code, the code CategoryModel model =
> >> categoryDao.getCategoryById(273) I code can work well.The code will
> load
> >> the
> >> category object the id is 273 and its parent category object whick the
> >> id is
> >> 270.In this code,more than one ResultSet was open.
> >>
> >>
> >>
> >>
> >> Jeff Butler-2 wrote:
> >> >
> >> > I once had a similar problem with DB2. The problem was that the DB
> >> was
> >> > configured to allow only one open ResultSet per connection.
> >> >
> >> > With your query, you will have more than one open ResultSet - so
> make
> >> sure
> >> > your DB is configured to allow this.
> >> >
> >> > Jeff Butler
> >> >
> >> > On Sat, Apr 12, 2008 at 10:47 PM, nepalon <[EMAIL PROTECTED]> wrote:
> >> >
> >> >>
> >> >> The DB i using is SQL Server2005.The error string(HY010) means
> >> "Invalid
> >> >> state, the ResultSet object is closed".Somebody says this error
> cause
> >> by
> >> >> using miscrosoft sql server driver,but I using jtds as my dirver.
> >> >>
> >> >> Larry Meadors wrote:
> >> >> >
> >> >> > This looks like a DB2 issue, you may want to search for that
> error
> >> >> > string (HY010), I think that's probably going to get you a
> solution
> >> >> > quickest.
> >> >> >
> >> >> > Larry
> >> >> >
> >> >> >
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://www.nabble.com/Problem-in-resultMap%3ACause%3A-java.sql.SQLException%3A-Invalid-state%2C-the-ResultSet-object-is-closed-tp16624071p16656703.html
> >> >> Sent from the iBATIS - User - Java mailing list archive at
> >> Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Problem-in-resultMap%3ACause%3A-java.sql.SQLException%3A-Invalid-state%2C-the-ResultSet-object-is-closed-tp16624071p16695510.html
> >>
> >>
> >> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Problem-in-resultMap%3ACause%3A-java.sql.SQLException%3A-Invalid-state%2C-the-ResultSet-object-is-closed-tp16624071p16715819.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>