Hi, I'm using jtds 1.2 driver for sql server 05.
Error:
java.sql.SQLException: Invalid parameter index 1.
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.getParameter(JtdsPreparedStatement.java:255)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setParameter(JtdsPreparedStatement.java:326)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:312)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObject(JtdsPreparedStatement.java:584)
at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:165)
at com.eglue.dbconnectivity.utils.MyTest.f(MyTest.java:44)
at com.eglue.dbconnectivity.utils.MyTest.main(MyTest.java:60)
Code:
package com.eglue.dbconnectivity.utils;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbcp.BasicDataSource;
import com.eglue.exception.ExecutingQueryException;
public class MyTest {
public void f()
{
Connection connection = null;
CallableStatement callableStatement = null;
try {
Class.forName ("net.sourceforge.jtds.jdbc.Driver");
} catch (ClassNotFoundException e2) {
e2.printStackTrace();
}
BasicDataSource bds = new BasicDataSource();
bds.setUrl("jdbc:jtds:sqlserver://192.168.0.29:1433;database=dbName");
bds.setPassword("***");
bds.setUsername("***");
try {
connection = bds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
try {
callableStatement = connection.prepareCall("SELECT * FROM cm_attr WHERE category=? ");
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
callableStatement.setObject(1, "LDAP");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
callableStatement.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args)
{
MyTest testJdbc = new MyTest();
testJdbc.f();
}
}
Thank's alot for your help!
Yael