-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NanFei Wang wrote:
> Hi, > somebody can help me! > > my database is: mysql-5.0.0a-alpha > the connection driver is:mysql-connector-java-3.1.1-alpha-bin.jar > > I want to test stored procedure of the new feature in MySQL version 5.0. A > > I can call the stored procedure procPara in Window Console as next show, > but when I run in procTest.java,I get error Messages. > The error is at the line: > CallableStatement cs=conn.prepareCall("{call procPara(?)}"); > between checkpoint 1 and checkpoint 2 > > your answer is highly appreciated! > from: NanFei > --------------------------------------------------------------------- > > mysql> delimiter // > mysql> > mysql> CREATE PROCEDURE procPara(IN name varchar(16)) > -> BEGIN > -> SELECT note FROM kmdoc where username=name; > -> END > -> // > Query OK, 0 rows affected (0.22 sec) > > mysql> call procPara("John")// > +------------------------------------------+ > | note | > +------------------------------------------+ > | mysql Manul | > | Office2000 | > | PDF | > | PowerPoint Animation Runtime | > | Office2003 | > | Test Title | > | Say Hello | > +-----------------------------------------+ > 7 rows in set (1.16 sec) > > Query OK, 0 rows affected (1.67 sec) > > mysql> > > - ------------------------------------------------------------------------------ > procTest.java as following: > > package km; > import java.sql.*; > > public class procTest{ > public static void main(String[] args)throws Exception { > String driverConnection="jdbc:mysql://localhost/"; > String catalog="mycatloge"; > String user="myname"; > String psw="mypsw"; > String connDbUserPsw=driverConnection+catalog+ > "? user="+user+"&password="+psw; > try { > Class.forName("com.mysql.jdbc.Driver"); > } > catch (ClassNotFoundException e) {} > Connection conn = DriverManager.getConnection(connDbUserPsw); > System.out.println("checkpoint 1"); > CallableStatement cs=conn.prepareCall("{call procPara(?)}"); > System.out.println("checkpoint 2"); > cs.setString(1,"john"); > java.sql.ResultSet rst=cs.executeQuery(); > while(rst.next()){ > String s=rst.getString(1); > System.out.println(s); > } > } > } > > > Messages: > > checkpoint 1 > java.lang.StringIndexOutOfBoundsException: String index out of range: -9 > at java.lang.String.substring(String.java:1480) > at com.mysql.jdbc.DatabaseMetaData$TypeDescriptor.<init>(DatabaseMetaData.java:7031) > at com.mysql.jdbc.DatabaseMetaData.getCallStmtParameterTypes(DatabaseMetaData.java:6615) > at com.mysql.jdbc.DatabaseMetaData.getProcedureColumns(DatabaseMetaData.java:2637) > at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:904) > at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:72) > at com.mysql.jdbc.Connection.prepareCall(Connection.java:999) > at com.mysql.jdbc.Connection.prepareCall(Connection.java:978) > at km.procTest.main(procTest.java:17) > Exception in thread "main" > > ------------------------------------------------------------------------- Use a nightly snapshot of Connector/J 3.1 from http://downloads.mysql.com/snapshots.php -Mark - -- Mr. Mark Matthews MySQL AB, Software Development Manager, J2EE and Windows Platforms Office: +1 708 332 0507 www.mysql.com Meet the MySQL Team! April 14-16, 2004 http://www.mysql.com/uc2004/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAdBy8tvXNTca6JD8RAlioAJ0V49MIcbWpMuG1sjQnbGHp1Y7yoQCghoFn HZn4vmYgdTFxMnhNliW9bkM= =wBMx -----END PGP SIGNATURE----- -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]