-----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]

Reply via email to