Opa galera, não sei o que acontece com o meu código, mas toda vez que o rodo, tenho este retorno:
run:
Connected to dw (Datawarehouse)
org.postgresql.util.PSQLException: ERROR: relation “prova” does not exist
Position: 15
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252)
at bd.oraclejdbc.main(oraclejdbc.java:123)
BUILD SUCCESSFUL (total time: 2 seconds)
Segue o meu código:
[code]
package bd;
import java.sql.*;
import java.sql.SQLException.*;
public class oraclejdbc{
public oraclejdbc() {
}
Connection conn;
Statement stmt;
ResultSetMetaData rsmd;
int numberOfColumns;
public void initializeOracleConn(String pHost, String pPort, String pSid,
String pLogin, String pPassword, String pComment) throws Exception{
// Don't forget to add Oracle JDBC Library
//DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String jdbcdriver;
String host;
String port;
String sid;
String login;
String password;
String comment;
/** Sample Values
jdbcdriver = "jdbc:oracle:thin";
host = "demo.domain.com";
port = "1525";
sid = "DEMO";
login = "demo";
password = "demo";
*/
jdbcdriver = "jdbc:postgresql";
host = pHost;
port = pPort;
sid = pSid;
login = pLogin;
password = pPassword;
comment = pComment;
conn = DriverManager.getConnection(jdbcdriver + "://" + host + ":" + port + ":" + sid,login,password);
conn.setAutoCommit (false);
System.out.println("Connected to " + sid + " (" + comment + ")");
}
public int executeQuery(String Query) throws Exception {
stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery(Query);
rsmd = rset.getMetaData();
numberOfColumns = rsmd.getColumnCount();
System.out.println(numberOfColumns + " columns.");
System.out.print("LINE N°" + ";");
for(int i=1; i < numberOfColumns; i++){
System.out.print(rsmd.getColumnName(i) + ";");
}
System.out.println(rsmd.getColumnName(numberOfColumns));
int count = 0;
while (rset.next()) {
count++;
System.out.print(count);
System.out.print(";");
for(int i=1; i < numberOfColumns; i++){
System.out.print(rset.getString(i));
System.out.print(";");
}
System.out.println(rset.getString(numberOfColumns));
}
System.out.println(count + " records.");
return count;
}
public static void main(String[] args) {
oraclejdbc oraclejdbc = new oraclejdbc();
String host;
String port;
String login;
String password;
String comment;
String sid;
// To customize
sid = "dw";
host = "localhost";
port = "5432";
login = "postgres";
password = "654321";
comment = "Datawarehouse";
try{
oraclejdbc.initializeOracleConn(host, port, sid, login, password, comment);
String Query = "select * from PROVA";
int numRecords = oraclejdbc.executeQuery(Query);
}catch (Exception e){
e.printStackTrace();
}
}
}[/code]
Sabendo que a conexao está correta com o banco de dados, e que a mesma consulta (“select * from prova;”) no pgAdmin do postgree me retorna a tabela com 1 dado inserido (que eu mesmo inseri na mão).
Se alguém tiver alguma idéia, agradecerei.
Aproveitando o tópicos, após eu solucionar meu problema, tenho uma pergunta, como faço a inserção de dados (java -> bd), sendo que meus dados estão em um .txt ??
[]'s