Problemas com conexão do banco

Galera conseguir fazer o seguinte código funcionar,
Hoje eu tentei rodar e deu os erros abaixo, estou usando o jre7 , jdk7 e ojdbc7.
Podem me ajudar travei na solução.

package Carga;

import java.sql.*;

public class Conexao {

	protected static Connection ObterConexao() {

        Connection conn = null;

        try {

                 Class.forName("oracle.jdbc.driver.OracleDriver");

                 conn = DriverManager.getConnection(

                                    "jdbc:oracle:thin:@127.0.0.1:1521:orcl", "System", "123654");

        } catch (ClassNotFoundException e) {

                 e.printStackTrace();
                 System.out.print(e);

        } catch (SQLException e) {

                 e.printStackTrace();
                 System.out.print(e);

        }

        return conn;

	}

}
package Carga;

import java.io.*;
import java.sql.*;


public class Teste1 extends Conexao {

	public static void main(String[] args) throws IOException, Exception  {
		
		Connection conn = ObterConexao();
		
		
				
		FileReader arq = new FileReader ("C:/Users/F8061431/Desktop/Bases/Base Abertos/teste1.txt");
		BufferedReader sr = new BufferedReader (arq);
		String[] adados = new String [42];
		String dados = null;
		
		while ((dados = sr.readLine())!= null) {
			
			adados = dados.replaceAll("'", "").split(",");
		
			PreparedStatement query = conn.prepareStatement ("INSERT INTO BASE_ABERTOS_TEMP2 VALUES ('" +adados[0]+"',"+adados[1]
				+",'"+adados[2]+"','"+adados[3]+"','"+adados[4]+"','"+adados[5]+"','"+adados[6]+"','"+adados[7]+"','"+adados[8]
				+"','"+adados[9]+"','"+adados[10]+"','"+adados[11]+"','"+adados[12]+"','"+adados[13]+"','"+adados[14]+"','"
				+adados[15]+"','"+adados[16]+"','"+adados[17]+"','"+adados[18]+"','"+adados[19]+"','"+adados[20]+"','"+adados[21]
				+"','"+adados[22]+"','"+adados[23]+"','"+adados[24]+"','"+adados[25]+"','"+adados[26]+"','"+adados[27]+"','"
				+adados[28]+"','"+adados[29]+"','"+adados[30]+"','"+adados[31]+"','"+adados[32]+"','"+adados[33]+"','"+adados[34]
				+"','"+adados[35]+"','"+adados[36]+"','"+adados[37]+"','"+adados[38]+"','"+adados[39]+"','"+adados[40]+"','"
				+adados[41]+"',TO_CHAR(CURRENT_DATE,'DD/MM/YYYY'))");
			
			query.executeUpdate();
						
			query.close();
			
		}
		
		conn.close();
		sr.close();
	}

}
Exception in thread "main" java.sql.SQLException: Missing IN or OUT parameter at index:: 1
	at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2076)
	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4790)
	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875)
	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1361)
	at Carga.Teste1.main(Teste1.java:46)

Problema é na sua String do comando SQL.

Tenho a impressao que ta faltando partes do seu sql

Sendo que não mudei nada de ontem para hoje código, estava apenas tentando tratar os campos datas. Mas não rolou pois dois campos possuem valores nulos tbm.

Cade o código onde você seta os parâmetros?

Desculpe Rodrigo, mas não entendi. Tipo criei a classe de conexão com o banco que é o primeiro código baseado nos códigos que vi creio não está errado. Na classe onde está o main eu faço o extends para poder usar a conexão e depois o PreparedStatement que ficam dentro do while de leitura do arquivo.

Esqueci de algo? Não estou conseguindo ver o que esqueci.

Esse seu código do jeito que está não tem como jamais ter funcionado, uma vez que você não tá setando os parâmetros do PreparedStatement em lugar nenhum. (ou eu estou cego?)

Olha exemplos na internet de como usar PreparedStatement e compara com o seu.

Agora que eu vi que você ta colocando os valores em um Array. Muda pra Statement no lugar de PreparedStatement e ve se funciona.

Então Rodrigo refiz o PreparedStatement veja:
Consequência funcionou e acho que não está diferente do outro. Agradeço muito ajuda.
Mas como sou novato no java, poderia me dizer a diferença entre o Statement e o PreparedStatement?

[code]PreparedStatement query1 = conn.prepareStatement(“INSERT INTO BASE_ABERTOS_TEMP VALUES (’”+adados[0]+"’,’"+adados[1]
+"’,’"+adados[2]+"’,’"+adados[3]+"’,’"+adados[4]+"’,’"+adados[5]+"’,’"+adados[6]+"’,’"+adados[7]+"’,’"+adados[8]+"’,’"
+adados[9]+"’,’"+adados[10]+"’,’"+adados[11]+"’,’"+adados[12]+"’,’"+adados[13]+"’,’"+adados[14]+"’,’"+adados[15]+"’,’"
+adados[16]+"’,’"+adados[17]+"’,’"+adados[18]+"’,’"+adados[19]+"’,’"+adados[20]+"’,’"+adados[21]+"’,’"+adados[22]+"’,’"
+adados[23]+"’,’"+adados[24]+"’,’"+adados[25]+"’,’"+adados[26]+"’,’"+adados[27]+"’,’"+adados[28]+"’,’"+adados[29]+"’,’"
+adados[30]+"’,’"+adados[31]+"’,’"+adados[32]+"’,’"+adados[33]+"’,’"+adados[34]+"’,’"+adados[35]+"’,’"+adados[36]+"’,’"
+adados[37]+"’,’"+adados[38]+"’,’"+adados[39]+"’,’"+adados[40]+"’,’"+adados[41]+"’,TO_CHAR(CURRENT_DATE,‘DD/MM/YYYY’))");

		query1.execute();
		
		query1.close();[/code]

http://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html

vc tá criando um gerador de código?
http://www.codejava.net/java-se/jdbc/jdbc-tutorial-sql-insert-select-update-and-delete-examples
olha este exemplo:

String sql = "INSERT INTO Users (username, password, fullname, email) VALUES (?, ?, ?, ?)";
 
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, "bill");
statement.setString(2, "secretpass");
statement.setString(3, "Bill Gates");
statement.setString(4, "bill.gates@microsoft.com");
 
int rowsInserted = statement.executeUpdate();
if (rowsInserted > 0) {
    System.out.println("A new user was inserted successfully!");
}

[quote=HattoriHanzou]Galera conseguir fazer o seguinte código funcionar,
Hoje eu tentei rodar e deu os erros abaixo, estou usando o jre7 , jdk7 e ojdbc7.
Podem me ajudar travei na solução.

package Carga;

import java.sql.*;

public class Conexao {

	protected static Connection ObterConexao() {

        Connection conn = null;

        try {

                 Class.forName("oracle.jdbc.driver.OracleDriver");

                 conn = DriverManager.getConnection(

                                    "jdbc:oracle:thin:@127.0.0.1:1521:orcl", "System", "123654");

        } catch (ClassNotFoundException e) {

                 e.printStackTrace();
                 System.out.print(e);

        } catch (SQLException e) {

                 e.printStackTrace();
                 System.out.print(e);

        }

        return conn;

	}

}
package Carga;

import java.io.*;
import java.sql.*;


public class Teste1 extends Conexao {

	public static void main(String[] args) throws IOException, Exception  {
		
		Connection conn = ObterConexao();
		
		
				
		FileReader arq = new FileReader ("C:/Users/F8061431/Desktop/Bases/Base Abertos/teste1.txt");
		BufferedReader sr = new BufferedReader (arq);
		String[] adados = new String [42];
		String dados = null;
		
		while ((dados = sr.readLine())!= null) {
			
			adados = dados.replaceAll("'", "").split(",");
		
			PreparedStatement query = conn.prepareStatement ("INSERT INTO BASE_ABERTOS_TEMP2 VALUES ('" +adados[0]+"',"+adados[1]
				+",'"+adados[2]+"','"+adados[3]+"','"+adados[4]+"','"+adados[5]+"','"+adados[6]+"','"+adados[7]+"','"+adados[8]
				+"','"+adados[9]+"','"+adados[10]+"','"+adados[11]+"','"+adados[12]+"','"+adados[13]+"','"+adados[14]+"','"
				+adados[15]+"','"+adados[16]+"','"+adados[17]+"','"+adados[18]+"','"+adados[19]+"','"+adados[20]+"','"+adados[21]
				+"','"+adados[22]+"','"+adados[23]+"','"+adados[24]+"','"+adados[25]+"','"+adados[26]+"','"+adados[27]+"','"
				+adados[28]+"','"+adados[29]+"','"+adados[30]+"','"+adados[31]+"','"+adados[32]+"','"+adados[33]+"','"+adados[34]
				+"','"+adados[35]+"','"+adados[36]+"','"+adados[37]+"','"+adados[38]+"','"+adados[39]+"','"+adados[40]+"','"
				+adados[41]+"',TO_CHAR(CURRENT_DATE,'DD/MM/YYYY'))");
			
			query.executeUpdate();
						
			query.close();
			
		}
		
		conn.close();
		sr.close();
	}

}

Exception in thread "main" java.sql.SQLException: Missing IN or OUT parameter at index:: 1 at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2076) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4790) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1361) at Carga.Teste1.main(Teste1.java:46) [/quote]

Luiz a diferença é que faço a leitura de arquivo. Então entendi bem onde vc quis chegar. Já tinha visto esse exemplo, mas não consegui pensar em uma forma de aplicar a minha necessidade. Olhando aqui pensei dessa forma:
Seria isso? Já que os campos do array vem desse arquivo.

String sql = "INSERT INTO Users (username, password, fullname, email) VALUES (?, ?, ?, ?)";
 
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, adados[0]);
statement.setString(2, adados[1]);
statement.setString(3, adados[2]);
statement.setString(4, adados[3]);
 
int rowsInserted = statement.executeUpdate();
if (rowsInserted > 0) {
    System.out.println("A new user was inserted successfully!");
}

[quote=Luiz Augusto Prado]vc tá criando um gerador de código?
http://www.codejava.net/java-se/jdbc/jdbc-tutorial-sql-insert-select-update-and-delete-examples
olha este exemplo:

String sql = "INSERT INTO Users (username, password, fullname, email) VALUES (?, ?, ?, ?)";
 
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, "bill");
statement.setString(2, "secretpass");
statement.setString(3, "Bill Gates");
statement.setString(4, "bill.gates@microsoft.com");
 
int rowsInserted = statement.executeUpdate();
if (rowsInserted > 0) {
    System.out.println("A new user was inserted successfully!");
}

[quote=HattoriHanzou]Galera conseguir fazer o seguinte código funcionar,
Hoje eu tentei rodar e deu os erros abaixo, estou usando o jre7 , jdk7 e ojdbc7.
Podem me ajudar travei na solução.

package Carga;

import java.sql.*;

public class Conexao {

	protected static Connection ObterConexao() {

        Connection conn = null;

        try {

                 Class.forName("oracle.jdbc.driver.OracleDriver");

                 conn = DriverManager.getConnection(

                                    "jdbc:oracle:thin:@127.0.0.1:1521:orcl", "System", "123654");

        } catch (ClassNotFoundException e) {

                 e.printStackTrace();
                 System.out.print(e);

        } catch (SQLException e) {

                 e.printStackTrace();
                 System.out.print(e);

        }

        return conn;

	}

}
package Carga;

import java.io.*;
import java.sql.*;


public class Teste1 extends Conexao {

	public static void main(String[] args) throws IOException, Exception  {
		
		Connection conn = ObterConexao();
		
		
				
		FileReader arq = new FileReader ("C:/Users/F8061431/Desktop/Bases/Base Abertos/teste1.txt");
		BufferedReader sr = new BufferedReader (arq);
		String[] adados = new String [42];
		String dados = null;
		
		while ((dados = sr.readLine())!= null) {
			
			adados = dados.replaceAll("'", "").split(",");
		
			PreparedStatement query = conn.prepareStatement ("INSERT INTO BASE_ABERTOS_TEMP2 VALUES ('" +adados[0]+"',"+adados[1]
				+",'"+adados[2]+"','"+adados[3]+"','"+adados[4]+"','"+adados[5]+"','"+adados[6]+"','"+adados[7]+"','"+adados[8]
				+"','"+adados[9]+"','"+adados[10]+"','"+adados[11]+"','"+adados[12]+"','"+adados[13]+"','"+adados[14]+"','"
				+adados[15]+"','"+adados[16]+"','"+adados[17]+"','"+adados[18]+"','"+adados[19]+"','"+adados[20]+"','"+adados[21]
				+"','"+adados[22]+"','"+adados[23]+"','"+adados[24]+"','"+adados[25]+"','"+adados[26]+"','"+adados[27]+"','"
				+adados[28]+"','"+adados[29]+"','"+adados[30]+"','"+adados[31]+"','"+adados[32]+"','"+adados[33]+"','"+adados[34]
				+"','"+adados[35]+"','"+adados[36]+"','"+adados[37]+"','"+adados[38]+"','"+adados[39]+"','"+adados[40]+"','"
				+adados[41]+"',TO_CHAR(CURRENT_DATE,'DD/MM/YYYY'))");
			
			query.executeUpdate();
						
			query.close();
			
		}
		
		conn.close();
		sr.close();
	}

}

Exception in thread "main" java.sql.SQLException: Missing IN or OUT parameter at index:: 1 at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2076) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4790) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1361) at Carga.Teste1.main(Teste1.java:46) [/quote][/quote]