matteo.pata
27-11-2007, 11:08
Ciao ragazzi ho un problema con java.Dovrei importare dei dati su un foglio excel da un database.Allora per prima cosa mi collego al database(oracle) e faccio una query su una tabella del DB a questo punto dovrei scrivere i risultati della query sul foglio di un file excel creato da me.
Questo č il codice:
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.*;
import java.util.*;
import oracle.jdbc.pool.*;
import oracle.jdbc.*;
import oracle.sql.*;
import java.io.*;
import java.net.*;
public class ExportExcel
{
public static void main (String[] args) throws SQLException
{
String userName = "******";
String password = "*******";
String url ="jdbc:oracle:thin:@//127.0.0.1:1521/XE";
Connection conn = null;
Statement stmnt = null;
// Creazione di DataSource e connessione al database
OracleDataSource ods = new OracleDataSource();
ods.setURL(url);
ods.setUser(userName);
ods.setPassword(password);
try
{
conn = ods.getConnection();
System.out.println("Connessione creata");
}
catch (SQLException e)
{
System.out.println("Impossibile connettersi al database");
System.out.println("SQLException: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
}
if (conn != null)
{
try
{
// Creazione di uno Statement
Statement studenti = conn.createStatement();
// Esecuzione dell'interrogazione
ResultSet rset = studenti.executeQuery("SELECT * FROM Studenti");
while (rset.next()) {
try{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
conn = DriverManager.getConnection( "jdbc:odbc:ProvaExcelExport", "", "" );
stmnt = conn.createStatement();
stmnt.executeUpdate("INSERT INTO ProvaExcelExport(Foglio1) VALUES('"+((rset.getString(1)))+"',' "+((rset.getString(2)))+"','" +((rset.getString(3)))+"')");
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
// Chiusura della connessione
conn.close();
System.out.println("Connessione terminata");
}
}
}
Il problema che mi da quando lo faccio girare č il seguente:
[Microsoft][Driver ODBC Excel] Il numero dei valori nella query non corrisponde a quello dei campi di
destinazione.:muro: :muro:
Qualcuno mi puņ dare una mano per favore se non č chiaro la spiegazione di ciņ che deve fare scrivetemi pure che proverņ a rispiegare meglio.
Questo č il codice:
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.*;
import java.util.*;
import oracle.jdbc.pool.*;
import oracle.jdbc.*;
import oracle.sql.*;
import java.io.*;
import java.net.*;
public class ExportExcel
{
public static void main (String[] args) throws SQLException
{
String userName = "******";
String password = "*******";
String url ="jdbc:oracle:thin:@//127.0.0.1:1521/XE";
Connection conn = null;
Statement stmnt = null;
// Creazione di DataSource e connessione al database
OracleDataSource ods = new OracleDataSource();
ods.setURL(url);
ods.setUser(userName);
ods.setPassword(password);
try
{
conn = ods.getConnection();
System.out.println("Connessione creata");
}
catch (SQLException e)
{
System.out.println("Impossibile connettersi al database");
System.out.println("SQLException: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
}
if (conn != null)
{
try
{
// Creazione di uno Statement
Statement studenti = conn.createStatement();
// Esecuzione dell'interrogazione
ResultSet rset = studenti.executeQuery("SELECT * FROM Studenti");
while (rset.next()) {
try{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
conn = DriverManager.getConnection( "jdbc:odbc:ProvaExcelExport", "", "" );
stmnt = conn.createStatement();
stmnt.executeUpdate("INSERT INTO ProvaExcelExport(Foglio1) VALUES('"+((rset.getString(1)))+"',' "+((rset.getString(2)))+"','" +((rset.getString(3)))+"')");
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
// Chiusura della connessione
conn.close();
System.out.println("Connessione terminata");
}
}
}
Il problema che mi da quando lo faccio girare č il seguente:
[Microsoft][Driver ODBC Excel] Il numero dei valori nella query non corrisponde a quello dei campi di
destinazione.:muro: :muro:
Qualcuno mi puņ dare una mano per favore se non č chiaro la spiegazione di ciņ che deve fare scrivetemi pure che proverņ a rispiegare meglio.