JDBC connection error
447494Jul 16 2005 — edited Aug 13 2005All,
I apologize in advance for this long post, but I thought it best to include the log output.
I cannot connect from my Java application to Oracle running on a Win2000 box (using oci or thin). SQLPlus works fine.
Which classes12.zip should I use? What should my URL be (as I have tried all sorts of different variations)? I know my inability to connect is related to a combination of the wrong JDK, Oracle JDBC and URL.
I use JDK 1.3.1 and cannot go higher.
Like I said, my SQLPlus can get to it fine. I have tried using "oci8" in the URL to no avail. I have also tried using my entry from tnsnames.
I hope someone here can help.
Here is my test class and my database abstraction class:
package com.sbc.payroll.SnetFileTransformData;
class TestDbClass {
private static java.sql.Connection conn;
public static void main(String[] args) {
try {
java.sql.DriverManager.setLogStream(System.out);
System.out.println("Just before getting connection from DB");
conn = DB.getInstance();
System.out.println("Just after getting connection from DB");
System.out.println("Just before getting statement");
java.sql.Statement stmt = conn.prepareStatement("select sysdate from dual");
System.out.println("Just after getting statement");
System.out.println("Just before getting result set");
java.sql.ResultSet rs = stmt.getResultSet();
System.out.println("Just after getting result set");
if (rs.next()) {
java.util.Date sysdate = rs.getDate(1);
System.out.println("Answer from result set is " + sysdate);
} else {
System.out.println("Failed rs.next");
}
rs.close();
stmt.close();
conn.close();
} catch (java.sql.SQLException e) {
System.err.println("Error: " + e.getMessage());
}
}
}
package com.sbc.payroll.SnetFileTransformData;
public class DB {
private DB() {
}
private static java.sql.Connection conn;
public static java.sql.Connection getInstance() {
try {
if (conn == null || conn.isClosed()) {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@**machine**:**port**:**sid**", "user", "password");
}
return conn;
} catch (java.sql.SQLException e) {
throw new RuntimeException(e.getMessage());
} catch (java.lang.ClassNotFoundException e) {
throw new RuntimeException(e.getMessage());
}
}
}
When I run my test using classes12.zip (for JDK 1.2) for 8i release 2, I get this in the log:
Just before getting connection from DB
DriverManager.initialize: jdbc.drivers = null
JDBC DriverManager initialized
registerDriver: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@253498]
DriverManager.getConnection("jdbc:oracle:thin:@**machine**:**port**:**sid**")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@253498]
DRVR OPER Enabled logging (moduleMask 0x0fffffff, categoryMask 0x0fffffff)
DRVR DBG1 doDefaultTypes
DBAC FUNC DBDataSetImpl.setNoOfDefineCol(noOfArgs= 1)
DBAC FUNC DBDataSetImpl.setTypes(index= 0 ,internalType= 1 , externalType= 0 ,maxLength= 120)
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.hasStreamType()
DBAC FUNC DBDataSetImpl.setBatchSize(newBatchSize=1)
DBAC DBG1 DBDataSetImpl.setBatchSize: original batch size was 0, dataset was=
oracle.jdbc.dbaccess.DBDataSetImpl@2470b8
DBDataSetImpl.m_dynamic=false
DBDataSetImpl.m_arrayDepth=0 (valid only when m_dynamic=false)
DBDataSetImpl.m_dataSetType=0
DBDataSetImpl.m_noOfArgs=1
DBDataSetImpl.types.length=1
types[0].type= VARCHAR (max_length=120)
DBDataSetImpl.data is null DBDataSetImpl.m_last_bind_values is null
DBDataSetImpl.m_tmp_first_row_items is null
DBDataSetImpl.m_tmp_first_row_types is null
DRVR DBG1 doDefinesFromTypes
DBAC FUNC DBDataSetImpl.hasStreamType()
DBAC FUNC DBDataSetImpl.setBatchSize(newBatchSize=1)
DBAC DBG1 DBDataSetImpl.setBatchSize: original batch size was 1, dataset was=
oracle.jdbc.dbaccess.DBDataSetImpl@2470b8
DBDataSetImpl.m_dynamic=false
DBDataSetImpl.m_arrayDepth=1 (valid only when m_dynamic=false)
DBDataSetImpl.m_dataSetType=0
DBDataSetImpl.m_noOfArgs=1
DBDataSetImpl.types.length=1
types[0].type= VARCHAR (max_length=120)
DBDataSetImpl.data is null DBDataSetImpl.m_last_bind_values is null
DBDataSetImpl.m_tmp_first_row_items is null
DBDataSetImpl.m_tmp_first_row_types is null
DBAC FUNC DBDataSetImpl.rowCompleted()
DBAC FUNC DBDataSetImpl._definesRowCompleted()
DBAC DBG1 DBDataSetImpl._definesRowCompleted m_noOfArgs= 1
DBAC FUNC DBData.DBData(nItems=1)
DBAC FUNC DBDataSetImpl._setRowItems(colIndex= 0, item= oracle.jdbc.ttc7.TTCItem@3caecd)
DBCV FUNC DBConversion.CharBytesToString(bytes[], nbytes=86)
DBCV DBG2 DBAccess bytes: (86 bytes):
4f 52 41 2d 30 30 36 30 30 3a 20 69 6e 74 65 72 6e 61 6c 20
65 72 72 6f 72 20 63 6f 64 65 2c 20 61 72 67 75 6d 65 6e 74
73 3a 20 5b 74 74 63 67 63 73 68 6e 64 2d 31 5d 2c 20 5b 30
5d 2c 20 5b 5d 2c 20 5b 5d 2c 20 5b 5d 2c 20 5b 5d 2c 20 5b
5d 2c 20 5b 5d 0a
DBCV FUNC DBConversion.utf8BytesToString(bytes[], nbytes=86)
DBCV FUNC DBConversion.utf8BytesToChars(bytes[], nbytes=86, chars[])
DBCV DBG2 UCS-2 bytes (172 bytes):
00 4f 00 52 00 41 00 2d 00 30 00 30 00 36 00 30 00 30 00 3a
00 20 00 69 00 6e 00 74 00 65 00 72 00 6e 00 61 00 6c 00 20
00 65 00 72 00 72 00 6f 00 72 00 20 00 63 00 6f 00 64 00 65
00 2c 00 20 00 61 00 72 00 67 00 75 00 6d 00 65 00 6e 00 74
00 73 00 3a 00 20 00 5b 00 74 00 74 00 63 00 67 00 63 00 73
00 68 00 6e 00 64 00 2d 00 31 00 5d 00 2c 00 20 00 5b 00 30
00 5d 00 2c 00 20 00 5b 00 5d 00 2c 00 20 00 5b 00 5d 00 2c
00 20 00 5b 00 5d 00 2c 00 20 00 5b 00 5d 00 2c 00 20 00 5b
00 5d 00 2c 00 20 00 5b 00 5d 00 0a
DRVR FUNC DBError.throwSqlException(reason="ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []
", SQLState=60000, vendorCode=600)
SQLException: SQLState(60000) vendor code(600)
java.sql.SQLException: ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:889)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1826)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2015)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:571)
at oracle.jdbc.dbaccess.DBAccess.setNlsParamsClient(DBAccess.java:1054)
at oracle.jdbc.ttc7.TTC7Protocol.initNls(TTC7Protocol.java:1152)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:262)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at com.sbc.payroll.SnetFileTransformData.DB.getInstance(DB.java:23)
at com.sbc.payroll.SnetFileTransformData.TestDbClass.main(TestDbClass.java:19)
DRVR OPER OracleStatement.close()
DBAC FUNC DBDataSetImpl.cleanup()
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.cleanTypes()
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.cleanData()
m_dataSetType= 0
DBAC FUNC DBData.cleanup()
getConnection returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@253498]
Just after getting connection from DB
Just before getting statement
DRVR OPER OracleConnection.prepareStatement(sql)
DRVR DBG1 SQL: "select sysdate from dual"
DRVR FUNC OracleStatement.OracleStatement(conn, batchValue=1, rowPrefetchValue=10)
DBAC FUNC DBDataSetImpl.DBDataSetImpl(conn, nrows=0 ,dataSetType= 0)
DRVR FUNC OraclePreparedStatement.OraclePreparedStatement(conn, sql, batchValue, rowPrefetchValue)
DBAC FUNC DBDataSetImpl.DBDataSetImpl(conn, nrows=1 ,dataSetType= 1)
DRVR FUNC OracleConnection.nativeSQL(sql)
DRVR DBG1 Input SQL: "select sysdate from dual"
DRVR DBG1 Output SQL: "select sysdate from dual"
DBCV FUNC DBConversion.StringToCharBytes(str)
DBCV FUNC DBConversion.stringToAcessCharBytes(str, charset=871)
DBCV DBG2 UCS-2 bytes (48 bytes):
00 73 00 65 00 6c 00 65 00 63 00 74 00 20 00 73 00 79 00 73
00 64 00 61 00 74 00 65 00 20 00 66 00 72 00 6f 00 6d 00 20
00 64 00 75 00 61 00 6c
DBCV FUNC DBConversion.stringToUtf8Bytes(str)
DBCV FUNC DBConversion.javaCharsToUtf8Bytes(chars[])
DBCV DBG2 DBAccess bytes (24 bytes):
73 65 6c 65 63 74 20 73 79 73 64 61 74 65 20 66 72 6f 6d 20
64 75 61 6c
Just after getting statement
Just before getting result set
DRVR DBG1 Statement.getResultSet
Just after getting result set
DRVR FUNC OracleResultSetImpl.next(): closed=false
DRVR DBG1 closed=false, statement.current_row=-1, statement.total_rows_visited=0, statement.max_rows=0, statement.valid_rows=0, statement.got_last_batch=false
DRVR FUNC DBError.check_error(errNum=410)
DRVR FUNC DBError.throwSqlException(errNum=410, obj=null)
DRVR FUNC DBError.findMessage(errNum=410, obj=null)
DRVR FUNC DBError.throwSqlException(reason="No more data to read from socket", SQLState=null, vendorCode=17410)
SQLException: SQLState(null) vendor code(17410)
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:211)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:933)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:739)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:698)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:373)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:889)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:244)
at com.sbc.payroll.SnetFileTransformData.TestDbClass.main(TestDbClass.java:27)
Error: No more data to read from socket
When using classes12_g.zip (JDK 1.2 and JDK 1.2) for Oracle9i Release 1 (9.0.1.4) & (9.0.1) drivers, I get this in the log:
Just before getting connection from DB
DriverManager.initialize: jdbc.drivers = null
JDBC DriverManager initialized
registerDriver: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@3ac748]
DriverManager.getConnection("jdbc:oracle:thin:@**machine**:**port**:**sid**")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@3ac748]
DRVR OPER Enabled logging (moduleMask 0x0fffffff, categoryMask 0x0fffffff)
DRVR DBG1 doDefaultTypes
DBAC FUNC DBDataSetImpl.setNoOfDefineCol(noOfArgs= 1)
DBAC FUNC DBDataSetImpl.setTypes(index= 0 ,internalType= 1 , externalType= 0 ,maxLength= 120)
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.hasStreamType()
DBAC FUNC DBDataSetImpl.setBatchSize(newBatchSize=1)
DBAC DBG1 DBDataSetImpl.setBatchSize: original batch size was 0, dataset was=
oracle.jdbc.dbaccess.DBDataSetImpl@6e3914
DBDataSetImpl.m_dynamic=false
DBDataSetImpl.m_arrayDepth=0 (valid only when m_dynamic=false)
DBDataSetImpl.m_dataSetType=0
DBDataSetImpl.m_noOfArgs=1
DBDataSetImpl.types.length=1
types[0].type= VARCHAR (max_length=120)
DBDataSetImpl.data is null DBDataSetImpl.m_last_bind_values is null
DBDataSetImpl.m_tmp_first_row_items is null
DBDataSetImpl.m_tmp_first_row_types is null
DRVR DBG1 doDefinesFromTypes
DBAC FUNC DBDataSetImpl.hasStreamType()
DBAC FUNC DBDataSetImpl.setBatchSize(newBatchSize=1)
DBAC DBG1 DBDataSetImpl.setBatchSize: original batch size was 1, dataset was=
oracle.jdbc.dbaccess.DBDataSetImpl@6e3914
DBDataSetImpl.m_dynamic=false
DBDataSetImpl.m_arrayDepth=1 (valid only when m_dynamic=false)
DBDataSetImpl.m_dataSetType=0
DBDataSetImpl.m_noOfArgs=1
DBDataSetImpl.types.length=1
types[0].type= VARCHAR (max_length=120)
DBDataSetImpl.data is null DBDataSetImpl.m_last_bind_values is null
DBDataSetImpl.m_tmp_first_row_items is null
DBDataSetImpl.m_tmp_first_row_types is null
DBAC FUNC DBDataSetImpl.rowCompleted()
DBAC FUNC DBDataSetImpl._definesRowCompleted()
DBAC DBG1 DBDataSetImpl._definesRowCompleted m_noOfArgs= 1
DBAC FUNC DBData.DBData(nItems=1)
DBAC FUNC DBDataSetImpl._setRowItems(colIndex= 0, item= oracle.jdbc.ttc7.TTCItem@113fe2)
JTTC FUNC TTIoac.marshal()
DBAC FUNC DBDataSetImpl.isStreamType(index= 0)
DRVR DBG1 After execute: valid_rows=1, piggyback_fetch is true
DRVR DBG2 defines: oracle.jdbc.dbaccess.DBDataSetImpl@6e3914
DBDataSetImpl.m_dynamic=false
DBDataSetImpl.m_arrayDepth=1 (valid only when m_dynamic=false)
DBDataSetImpl.m_dataSetType=0
DBDataSetImpl.m_noOfArgs=1
DBDataSetImpl.types.length=1
types[0].type= VARCHAR (max_length=120)
DBDataSetImpl.data.length=1
data[0].items[0] has 0 bytes:
data[0].items[0] has 120 bytes allocated
DBDataSetImpl.m_last_bind_values is null
DBDataSetImpl.m_tmp_first_row_items is null
DBDataSetImpl.m_tmp_first_row_types is null
DRVR FUNC OracleResultSetImpl.next(): closed=false
DRVR DBG1 closed=false, statement.current_row=-1, statement.total_rows_visited=0, statement.max_rows=0, statement.valid_rows=1, statement.got_last_batch=false
DRVR FUNC OracleStatement.getStringValue(getColumn=true, index=1)
DRVR FUNC OracleStatement.getCharsInternal(getColumn=true, index=1)
DBAC FUNC DBDataSetImpl.isStreamType(index= 0)
DBAC OPER DBAccess.setNlsParamsClient(): NLSLanguage=AMERICAN, NLSTerritory=AMERICA, DateFormat=null
DRVR OPER OracleStatement.close()
DRVR FUNC OracleConnection.isClosed() returned false
DRVR FUNC OracleResultSetImpl.internal_close()
DRVR FUNC OracleResultSetImpl.internal_close()
DBAC FUNC DBDataSetImpl.cleanup()
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.cleanTypes()
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.cleanData()
m_dataSetType= 0
DBAC FUNC DBData.cleanup()
DBAC FUNC DBDataSetImpl.setBatchSize(newBatchSize=0)
DBAC DBG1 DBDataSetImpl.setBatchSize: original batch size was 1, dataset was=
oracle.jdbc.dbaccess.DBDataSetImpl@6e3914
DBDataSetImpl.m_dynamic=false
DBDataSetImpl.m_arrayDepth=1 (valid only when m_dynamic=false)
DBDataSetImpl.m_dataSetType=0
DBDataSetImpl.m_noOfArgs=0
DBDataSetImpl.types is null
DBDataSetImpl.data is null DBDataSetImpl.m_last_bind_values is null
DBDataSetImpl.m_tmp_first_row_items is null
DBDataSetImpl.m_tmp_first_row_types is null
DBAC FUNC DBDataSetImpl.cleanup()
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.cleanTypes()
m_dataSetType= 0
DBAC FUNC DBDataSetImpl.cleanData()
m_dataSetType= 0
getConnection returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@3ac748]
Just after getting connection from DB
Just before getting statement
DRVR OPER OracleConnection.prepareStatement(sql)
DRVR DBG1 SQL: "select sysdate from dual"
DRVR FUNC OracleStatement.OracleStatement(conn, batchValue=1, rowPrefetchValue=10)
DRVR OPER OracleConnection.getDefaultFixedString() returning false
DBAC FUNC DBDataSetImpl.DBDataSetImpl(conn, nrows=0 ,dataSetType= 0)
DRVR FUNC OraclePreparedStatement.OraclePreparedStatement(conn, sql, batchValue, rowPrefetchValue)
DBAC FUNC DBDataSetImpl.DBDataSetImpl(conn, nrows=1 ,dataSetType= 1)
DRVR FUNC OracleConnection.nativeSQL(sql)
DRVR DBG1 Input SQL: "select sysdate from dual"
DRVR DBG1 Output SQL: "select sysdate from dual"
DBCV FUNC DBConversion.StringToCharBytes(str)
DBCV FUNC DBConversion.stringToAcessCharBytes(str, charset=871)
DBCV DBG2 UCS-2 bytes (48 bytes):
00 73 00 65 00 6c 00 65 00 63 00 74 00 20 00 73 00 79 00 73
00 64 00 61 00 74 00 65 00 20 00 66 00 72 00 6f 00 6d 00 20
00 64 00 75 00 61 00 6c
DBCV FUNC DBConversion.stringToUtf8Bytes(str)
DBCV FUNC DBConversion.javaCharsToUtf8Bytes(chars[])
DBCV FUNC DBConversion.stringUTF8Length(chars[]= (48 bytes):
00 73 00 65 00 6c 00 65 00 63 00 74 00 20 00 73 00 79 00 73
00 64 00 61 00 74 00 65 00 20 00 66 00 72 00 6f 00 6d 00 20
00 64 00 75 00 61 00 6c )
DBCV FUNC DBConversion.stringUTF8Length: return:24
DBCV DBG2 DBAccess bytes (24 bytes):
73 65 6c 65 63 74 20 73 79 73 64 61 74 65 20 66 72 6f 6d 20
64 75 61 6c
Just after getting statement
Just before getting result set
DRVR DBG1 Statement.getResultSet
Just after getting result set
DRVR FUNC OracleResultSetImpl.next(): closed=false
DRVR DBG1 closed=false, statement.current_row=-1, statement.total_rows_visited=0, statement.max_rows=0, statement.valid_rows=0, statement.got_last_batch=false
DRVR FUNC DBError.check_error(errNum=433)
DRVR FUNC DBError.throwSqlException(errNum=433, obj=null)
DRVR FUNC DBError.findMessage(errNum=433, obj=null)
DRVR FUNC DBError.throwSqlException(reason="invalid arguments in call", SQLState=null, vendorCode=17433)
SQLException: SQLState(null) vendor code(17433)
java.sql.SQLException: invalid arguments in call
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:982)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:963)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:246)
at com.sbc.payroll.SnetFileTransformData.TestDbClass.main(TestDbClass.java:27)
Error: invalid arguments in call
When I use classes12_g.zip (JDK 1.2 and 1.3) for Oracle9i Release 2 (9.2.0.5) (9.2.0.4) (9.2.0.3) & (9.2.0.1) drivers, I get this in the log:
Just before getting connection from DB
DriverManager.initialize: jdbc.drivers = null
JDBC DriverManager initialized
registerDriver: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@1a698a]
DriverManager.getConnection("jdbc:oracle:thin:@MOSTL28X08DT01.swbt.itservices.sbc.com:1521:payroll")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@1a698a]
DRVR OPER Enabled logging (moduleMask 0x0fffffff, categoryMask 0x0000008f)
DRVR OPER OracleResultSetImpl.getString(columnIndex=1)
getConnection returning driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@1a698a]
Just after getting connection from DB
Just before getting statement
DRVR SQLS SQL: "select sysdate from dual"
DRVR OPER OracleConnection.getDefaultFixedString() returning false
DRVR OPER ResultSetUtil.needIdentifier(typeCode=1): return: false
DRVR SQLS Input SQL: "select sysdate from dual"
Just after getting statement
Just before getting result set
Just after getting result set
DRVR OPER BaseResultSet.clearWarnings()
DRVR WARN DBError.findMessage(errNum, obj): returned invalid arguments in call
SQLException: SQLState(null) vendor code(17433)
java.sql.SQLException: invalid arguments in call
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:1243)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:296)
at com.sbc.payroll.SnetFileTransformData.TestDbClass.main(TestDbClass.java:27)
Error: invalid arguments in call