Mam bazę danych (postgreSQL) w której są dwie tabelki i pare kolumn w
każdej.Łączę się do niej przez JDBC. Generalnie wszystko działa ale
chciałem dołączyć do tego projekt pBeans
http://pbeans.sourceforge.net/ ale nie moge sobie z tym dać rady. Wszystko
robie według instrukcji:
Załadowany JDBC z postgres'a, załadowany pbeans.jar importy porobione a
Eclipse wyrzuca
GenericDataSource cannot be resolved to a type
w linii:
DataSource dataSource = new GenericDataSource();
kod testowy wygląda tak:
import net.sourceforge.pbeans.data.*;
import net.sourceforge.pbeans.*;
import javax.sql.*;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
String url =
"jdbc:postgresql://127.0.0.1:5432/postgres?charSet=SQL_ASCII";
String user = "postgres";
String password = "1234";
DataSource dataSource = new GenericDataSource();
dataSource.setDriverClassName("org.postgresql.Driver");
dataSource.setUrl(url, user, password);
} catch ( Exception e ) {
e.printStackTrace();
}
}
}
więc jak widać jest to praktycznie to samo co na stronie
http://pbeans.sourceforge.net/ ale jak próbuje skompilować to eclipse
wyrzuca:
Exception in thread "main" java.lang.Error: Unresolved compilation
problems:
The method setDriverClassName(String) is undefined for the type DataSource
The method setUrl(String) is undefined for the type DataSource
at Test.main(Test.java:14)
a tutaj screen: http://members.lycos.co.uk/smiglo/java.png
używam jdk1.5.0_06
co robię źle?
pozdrawiam lobo
Hmmm... "xxx cannot be resolved to a type" oznacza, że w classpath
próżno szukać klasy xxx
Dlaczego w ogole importowałeś do projektu zawartość jarów? Wyrzuć te
obce pakiety, za to dodaj elegancko do Build Path jary z jdbc driverem
postgresa i pbeansem (binaria, rzecz jasna).
pozdrawiam,
--
mgl
dzieki. faktycznie źle dodawałem jary. teraz już z tym jest ok ale
wyskoczył następny problem który jest conajmniej dziwny.
wszystko wyjaśnia ten screen ttp://members.lycos.co.uk/smiglo/java.png
napisze jeszcze że patrzyłem do klasy DataSource i nie ma tych metod które
są w przykładzie (a przykład jest wzięty ze strony
http://pbeans.sourceforge.net/ ) szukam, myśle i nie wiem niestety jak to
ugryźć. może jeszcze czegoś nie dorzuciłem?
Eclipse jak widać wyrzuca:
Exception in thread "main" java.lang.Error: Unresolved compilation
problems:
The method setDriverClassName(String) is undefined for the type DataSource
The method setUrl(String, String, String) is undefined for the type
DataSource
at Test.main(Test.java:18)
pozdrawiam lobo
1. Tylko klasa GenericDataSource ma metode setDriverClassName (popatrz
jak deklarujesz zmienna dataSource). DataSource - niet.
2. Zerkajac na api GenericDataSource oraz DataSource, stwierdzam, ze ani
pierwsze ani drugie nie ma metody setUrl z trzema parametrami ...
Jeszcze jedna rzecz: nacisnij w kodzie ctrl+shift+o ...