polaczenie z oraclem xe

polaczenie z oraclem xe
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

witam mam kod:

Kopiuj
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class baza {
	void polaczenie_z_baza() throws SQLException {
	    try {
	        Class.forName("oracle.jdbc.driver.OracleDriver");    
	        System.out.println("Połączyłeś się z bazą");        
	    } catch (Exception e) {
	        System.out.println("Nie połączyłeś się z bazą");
	    }
	    Connection polaczenie=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:8080:xe","system","zgred");
	} 
public static void main(String[] args){
	baza b=new baza();
	try {
		b.polaczenie_z_baza();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
}

i niestety nie dziala.
korzystam ze sterownika ojdbc14.jar, classpath dodany. Moze sterownik ktorego uzywam jest nie odpowiedni? kod bledu wyraznie na to wskazuje...cUzywam jre1.5.0_06.

Kopiuj
Nie połączyłeś się z bazą
java.sql.SQLException: No suitable driver
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at baza.polaczenie_z_baza(baza.java:14)
	at baza.main(baza.java:19)

pozdrawiam


play hard..go pro.
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

Czy w classpathie na pewno masz odpowiedniego jara z driverem? Pod IDE może działać, ale po uruchomieniu już nie, bo IDE zazwyczaj konfiguruje sobie cp. Sprawdź dokładni próbując stworzyć nową instancję Driver przez:

Kopiuj
Driver driver = new OracleDriver();

Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

hmmm tak dodalem tylko ze w opcjach mojego komputera, a jest tez gdzies w eclipsie mozliwosc dodania do projektu a nie moge znalezc:) musi byc i tu i tu?


play hard..go pro.
0

ale czy przypadkiem jesli by to byl problem z classpath to nie dostalby komunikatu ktory wyswietlany jest w catchu od Class.forName? tutaj wyraznie dostaje komunikat juz zDriverManagera, czyli przeszedl ladowanie klasy? nie wiem jak rozwiazac problem bo nie znam tych driverow, ale przynajmniej mozna wykluczyc problem z classpath, tak mysle przynajmniej?
pozdrawiam i mam nadzieje ze to nie projekt zaliczeniowy i swietamijaja w spokoju
how how how

Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

Hm... rzeczywiście to może być coś innego. Można spróbować też w taki sposób:

Kopiuj
try {
        DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
}
catch (SQLException e ){
       e.printStacktrace();
}

Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
0

w eclipse:
prawym na projekt i "build path" lub "java build path" lub podobnie, pojawia sie dialog z kilkoma zakladkami, wsrod nich jest cos w stylu "lexternal libraries", dodajesz tam twojego jara i ok
mowie "cos jakby, w stylu..." itp poniewaz dokladny opis zalezy od wesji eclipsa jaka uzywasz
co do tego czy trzeba tu i tu: rozumiem ze masz classpath ustawione systemowe, w zmiennych srodowiskowych? jesli tak to widocznie trzeba i tu i tu skoro nie dziala :-)

pozdro

Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

dodalem jara jak mamalyga kazales i jest ok..prawie :D ale to juz bledy sqla wiec jak sadze trzeba mu cokolwiek kazac robic na tej bazie.

Kopiuj
Połączyłeś się z bazą
java.sql.SQLException: Wyjątek we-wy: The Network Adapter could not establish the connection
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
	at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:420)
	at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
	at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at baza.polaczenie_z_baza(baza.java:18)
	at baza.main(baza.java:23)

a nie przepraszam juz jest ok, przyzwyczajony ze proces serwera chodzi caly czas nie sprawdzilem a tu zlosliwosc rzeczy martwych serwer nie wystartowal :)

offtop no niestety to projekt zaliczeniowy...mam napisac system obslugi fabryki samochodow (sic! :)) wczesniej pisalem miedzy innymi szachy itp. Nie moge sie do tej javy przekonac od ponad 2 lat.


play hard..go pro.
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

@Freakman, jedna rada. Czasami zamiast JDBC warto pomysleć o jakimś prostym ORMie. JPA może chodzić bez kontenera lub serwera aplikacji. Odpadną ci wtedy problemy z SQLem :)

ps. do javy nie mogłem się przekonać do momentu aż nie zacząłem z nią pracować po 12 godzin dziennie i nie przeczytałem o kilku rozwiązaniach.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
0

@koziolek - JPA tak, no ale musi miec jakiegos providera tak czy tak, co drugi powie tutaj hibernate, a zalezy co on potrzebuje - jak to sie mowi nie ma co wyciagac armaty na muche - ja w hibernacie i innych pisalem na prawde sporo, ale w domowym zaciszu pisalem gierki i male appsy ktore mialy bazodanowosci tyle co kot naplakal i zwykly jdbc spisywal sie doskonale i starczyl z nadmiarem
pewnie ten projekt zaliczeniowy to tez kilka tabelek i tyle samo zapytan itp wiec nie ma co mieszac za bardzo z tymi orm
kolejna rzecz ze takie orm to sterta xml lub anotacji z konkretna skladnia, ktorych tez trzeba sie nauczyc, a jak to student co robi w swieta projekt to pewnie wiele czasu mu na zdanie go nie zostalo ;-)
no i na koniec - orm nie wlaczy mu servera, a miszmasz z classpath i jarami wiekszy o 1000%, bo powszechny hibernate ma zaleznosci mnostwo

Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

@mamalyga, konfiguracja JPA jest naprawdę banalna, a jak używasz Javy 6 to można, jako domyślną, ustawić bazę DerbyDB. Zalezność od providera można sobie skonfigurować w Mavenie i problem z jarami odpada. Jak na koniec potrzebujemy wszystko ładnie spakować to można użyć maven-jar-plugin i po porblemie.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
0

maven - kolejna rzecz do nauki a przynajmniej do poczytania troche co i jak
no ale masz racje,nie jest najgorzej, tylko patrz przez pryzmat studenta spieszacego sie z projektem
a moze to tylko ja tak mam ze czasami musze o czyms poczytac zanim zaczne uzywac?

Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

Na początek musisz zawsze poczytać, ale ostatnio czytałem "Better Builds with Maven" i na zakończenie 2 rozdziału jest zdanko o mniej więcej takim sensie, że jeżeli chcesz tylko używać mavena to na tym możesz zakończyć lekturę. Zresztą lubię programować z manualem w ręku.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

tak sie zawsze zastanawiam koziolek jak czytam Twoje posty ktore zycie z kolei masz ze taka wiedza dysponujesz :) ja mam lekko chore ambicje staram sie rozwijac a nijak do przodu nie idzie (chyba niezbyt utalentowany jestem w tym kierunku) ale do rzeczy:

java.sql.SQLException: Wyjątek we-wy: Got minus one from a read call

co z tym mozna zrobic bo grzebie w googlach pelno watkow jest o tym a rozwiazania znalezc nie mozna.


play hard..go pro.
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

Co najmniej kilka przyczyn takiego błędu. Najbardziej prozaiczne to nieprawidłowe zapytanie. Na tym kończą się prozaiczne problemy. Problemy pojawiają się zazwyczaj przy połączeniu z bazą. Albo oracle zrobił kaput z powodu zbyt dużej liczby połączeń - sprawdź czy wszystkie są prawidłowo zamykane, niegłupie jest dodanie close() w metodzie finalize(), w najgorszym przypadku poleci wyjątek przy niszczeniu obiektu. Albo przekroczona została liczba procesów przydzielonych Oraclowi z powodu punkt poprzedni. Albo też sesja została "zawieszona" z powodu braku procesu :)
Generalnie wszystko sprowadza się do za dużej liczby połączeń z bazą. Przyczyną może być:
a. wyciek połączenia - najlepsza metoda to zarządzanie połączeniem jako singletonem. Dość ogólnie o tym http://4programmers.net/Forum/viewtopic.php?id=117923 wraz ze szkieletem implementacji DAO. Zresztą napisz obiekt DAO do obsługi zapytań. Ułatwi życie, bo można będzie go przetestować. Zresztą tam to wypłynęło przy zarządzaniu połączeniami i powiązaniu tego z akcjami użyszkodnika.
b. zła konfiguracja bazy - tu ci mogę jedynie podpowiedzieć, że gdzieś siedzi pula połączeń. Oracla nie znam, ale poznam za niedługo... niestety...

Znalazłem jeszcze jedno źródło, czyli niekompatybilność sterownika z wersją bazy. Sprawdź czy wszytko jest git w tym względzie.

Co do życia to po prostu miałem farta uczestniczyć w kilku nietypowych projektach. Do tego czytam ogromne ilości książek (co rodzice i narzeczona mają mi za złe bo się z nimi nie mieszczę w domu). Do tego dochodzi natura kombinatora i tendencja do zadawania pytań.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

na razie nie wykonuję zadnych zapytan, bo program sie wywala wlasnie na lini getConnection :). Sterownik jest odpowiedni, zamykanie polaczenia wrzucilem w finally, co do DAO musze jak widze troche poczytac.
co do konfiguracji bazy - mozliwe bo xe dziala jak instalka windowsa, praktycznie wszystko wykonuje sie samo :)

edit:
ok wstyd.. port nie 8080 tylko 1521. tak to jest z brakiem doswiadczenia :)


play hard..go pro.
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

co do obslugi polaczenia singletonem:

skad moge wiedziec ze garbacecollector nie zwinal mi obiektu i tak naprawde uzywam wciaz tego samego? Wrzucilem do finalize polaczenie.close i przy nastepnych probach przypisania instancji okazuje sie ze poprzedni obiekt zostal wyrzucony (i jednoczesnie polaczenie zamkniete). Jak utrzymywac polaczenie z baza przez caly okres trwania programu?


play hard..go pro.
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

@Freakman, chyba nie do końca kumasz jak działa singleton i gc. W najprostszym przypadku wygląda on w ten sposób:

Kopiuj
class Singleton{
    private static Singleton INSTANCE = new Singleton();
    private Singleton(){}
    public static Singleton getInstance(){
        return INSTANCE;
    }
}

i teraz co się dzieje. Przy ładowaniu klasy wywoływany jest konstruktor ponieważ trzeba ustawić pole INSTANCE. W tym momencie zostaje stworzony obiekt singletonu i przypisany do zmiennej. Co robi gc? Gc trafia co pewien czas na obiekt singletonu i sprawdza czy kierują do niego jakieś referencje. Jako, że na początku do pola INSTANCE został przypisany obiekt i pole to jest statyczne to gc cały czas ma conajmniej jedną referencję do obiektu. Ergo, singleton jest niszczony w przypadku kończenia pracy programu, a w trakcie jego działania jest obecny cały czas jeden i ten sam obiekt.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0
Kopiuj
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import oracle.jdbc.driver.OracleDriver;

public class DBConnector {
		//private static DBConnector INSTANCE=new DBConnector();
        private static Connection CONNECTION_INSTANCE;
        public static Connection polaczenie;
        static int licznik=0;
        private DBConnector() {
        	 try {
      	        Class.forName("oracle.jdbc.driver.OracleDriver");   
      	        System.out.println("Połączyłeś się z bazą");        
      	    } catch (Exception e) {
      	        System.out.println("Nie połączyłeś się z bazą");
      	    }
      	    
      	    
 			try {
 				polaczenie = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","SYSTEM","qwe123");
 			} catch (SQLException e) {
 				e.printStackTrace();
 			}
        }

        public static void init(Properties properties) throws SQLException{
               
     	} 
        

        public static Connection getCONNECTION_INSTANCE() {
                if (CONNECTION_INSTANCE == null){
                	licznik=licznik+1;
                	
                	new DBConnector();
                }
                System.out.println(licznik);
                return CONNECTION_INSTANCE;
        }

        @Override
        protected void finalize() throws Throwable {
                // Połączenie jest zamykane w momwncie niszczenia obiektu
                CONNECTION_INSTANCE.close();
        }
}

czy bardzo narusze zasady tworzac publiczne statyczne polaczenie tak zeby pozniej wygodnie obslugiwac zapytania sql z innych klas?:) bo to proste i dla mnie logiczne ale cos czuje ze lamie zasady obiektowe.

Kopiuj

play hard..go pro.
L0
  • Rejestracja:około 19 lat
  • Ostatnio:około 16 lat
0

muszę przyznac ze tez wlasnie miałem problem z połączeniem sie javą do bazy oraclowej ale ten topic rozwiał wszystki moje pytania :) no moze poza jednym ...

Pytanie raczej do Koziołka, choć moze Freakman tez zna rozwiazanie :) mianowice zrobilem sobie potrzebny interfejsik w javie mam juz polaczenie z baza zrobilem sobie proste zapytanie do bazy

Kopiuj
select name from pracownicy;
//tak zebym sie nie przemeczal ;)

i ładnie mi się wyswietla w konsoli .cmd teraz chciałbym zeby wynik mi sie wyrysował w javie w stworzonym panelu czy textarea (o ile jest taka możliwość) i tu pytanie

czy jest taka możliwość zeby to ładnie w javie wyświetlić :> jeśli tak to jaka :> mile widziany przykład lub jakas ogolnie dostępna ksiazka :)


/loko
0

Jest możliwość żeby wyświetlić ładnie. Trzeba skorzystać z klasy JTable (do rysowania tabeli). Mniej ładnie, to w JTextArea (TextArea). Jeżeli na konsoli wyświetlałeś tak: System.out.println(s); gdzie s było zbudowane
z jednego wiersza w ResultSet, to zamiast tego użyj ta.append(s+"\n");

Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

@Freakman, praktycznie publiczne i statyczne połączenie narusza zasadę enkapsulacji. Ponad to może być źródłem wrednych błędów:

Kopiuj
DBConnector.polaczenie = null;

i już leży cała aplikacja. Ponieważ wszystkie odwołania są statyczne wiec tego typu błąd, lub też kod złośliwy, ładnie "wynulluje" całą sesję. Innym i bardziej prawidłowym podejściem jest:

Kopiuj
private static Connection polaczenie;

public static Connection getPoloczenie(){
   return polaczenie;
}

W ten sposób nie ma bezpośredniej metody na ustawienie tego pola z poza obiektu.

@loko0709, przejrzyj:
http://www.java-tips.org/java-se-tips/javax.swing/how-to-show-data-in-database-with-a-jtable.html

Kopiuj

Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
L0
  • Rejestracja:około 19 lat
  • Ostatnio:około 16 lat
0

dzieki panowie za odpowiedz, fakt jest jak byk w swingu JTable nie wiem czemu wczesniej tego nie widzialem :)

ale tutaj mam kolejne pytanie, mianowice do wyswietlania w nim wyników - nie mowie tutaj o wyswietlaniu wyniku w taki sposob

Kopiuj
String[] columnNames = {"First Name",
                                "Last Name",
                                "Sport",
                                "# of Years",
                                "Vegetarian"};

        Object[][] data = {
            {"Mary", "Campione",
             "Snowboarding", new Integer(5), new Boolean(false)},
            {"Alison", "Huml",
             "Rowing", new Integer(3), new Boolean(true)},
            {"Kathy", "Walrath",
             "Knitting", new Integer(2), new Boolean(false)},
            {"Sharon", "Zakhour",
             "Speed reading", new Integer(20), new Boolean(true)},
            {"Philip", "Milne",
             "Pool", new Integer(10), new Boolean(false)}
        };

bo kazdy potrafi sie napisac ja potrzebuje wczytac dane z tabeli za pomoca jakiegos selecta (np select imie, nazwisko from pracownicy) i umiescic go w naszej tabeli, i tu pojawia sie moje pytanie jak z tym sie uporac bo mecze sie i mecze i rozwiazania nie widze [glowa]

ja kombinuje w tą strone - moze cos was natchnie czytajac to

Kopiuj
String sql      = "select imie, nazwisko from klienci";  //selekcik
Connection conn;
       Statement  stmt;
       ResultSet  rset; 
 String connString = driver + "@" + host + ":" + port + ":" + SID ;
........  
DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver()); 
        conn = DriverManager.getConnection( connString, user, password);        
        stmt = conn.createStatement();
        rset = stmt.executeQuery( sql);
...

while (rset.next()) {     //tutaj pobieramy dane z naszego selecta 
           tab.append(rset.getObject("imie") + "\t" + rset.getObject("nazwisko") + "\n");  //wyswietlenie danych za pomoca sposobu "brzydkiego" 
            imie = rset.getObject("imie");  //pobieranie z oracla do stringów
            nazwisko = rset.getObject("nazwisko");
                imiet[i]=imie.toString();   //pobieranie ze stringow do tablic
                nazwiskot[i]=nazwisko.toString();
                i++;
            }   

teraz jak juz mamy zrobionego selecta probujemy wyswietlic dane w tabeli

Kopiuj
              String[] columnNames = {"Imię", "Nazwisko"};                          
                Object[][] data = {{imiet[i],nazwiskot[i]}};
                table = new JTable(data,columnNames);
                scrollPane = new JScrollPane(table);
......
placem1.add(scrollPane);

jak widac na załączonym obrazku kod moze wyswietlic tylko jeden rekord a jak wczytac cala tabele wierszy??


/loko
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

I tu pojawia się znowu temat DAO i obiektów pomocniczych. Załóżmy, że masz już zdefiniowany interfejs CrudDAO jakąś implementację. Niech metoda read() ma taką definicję:

Kopiuj
public List<Osoba> read(Osoba o){
  // tu SQL, JPA inny ORM
}

dane wybierasz za pomocą tej metody i tylko tej metody. Następnie przygotuj sobie drugą metodę w jakimś obiekcie - narzędziu który zrobi coś takiego:

Kopiuj
public Object[] makeRowFromOsoba(Osoba o){
   return new String[]{o.getImie(), o.getNazwisko()};
}

Wystarczy zatem teraz zrobić coś mniej więcej takiego:

Kopiuj
List<Osoba> osoby = osobaDAO.read(Osoba przykladowaOsoba);
Object[][] rows = new Object[osoby.size()][];
for (int i = 0; i< osoby.size(); i++){
   rows[i] = makeRowFromOsoba(osoby.get(i));
}

jest to kncepcja więc trzeba to ugładzić.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
L0
  • Rejestracja:około 19 lat
  • Ostatnio:około 16 lat
0

ok dzieki za opowiedz wypróbuje koncepcje jak z pracy wrocę a powiedz mi dwa słowa o interfejsie CrudDao bo pierwszy raz sie z tym spotykam ...

ps mam tez koncepcje jak to zrobic w "tradycyjny" sposób tj;

Kopiuj
public int getRowCount() { //liczymy wiersze danych
        return dane.length;
}
...
public void dodajWiersz(Object[] row) {
Object[][] data=new Object[dane.length+1][columnname];  //zwiekszenei ilosci wierszy o 1 w tabeli

for(int i=0; i<dane.length; i++)
                    for(int j=0; j<columnname;j++)
                            nowedane[i][j]=dane[i][j];

            for(int i=0; i<columnname; i++)
                            nowedane[dane.length][i] = row[i];
            this.dane=nowedane;  //zapisujemy nowa macierz w miejsce starej
            fireTableRowsInserted(dane.length-1, dane.length-1);
    }

jeszcze nie wiem dokladnie jak to mi wyjdzie bo robie to pierwszy raz (nie ukrywam ze podobne rozwiazanie widzialem tu na forum dopiero)


/loko
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

CrudDAO nie jest interfejsem w sensie Javy,ale pewną koncepcją (nie wzorcem, choć można by go tak traktować). Generalnie polega to na tym, że definiujesz pewien interfejs Javowy, którego implementacja zapewnia cztery funkcjonalności związane z bazami danych:
Create - tworzenie rekordów
Read - czytanie rekordow
Update - aktualizacja rekordu
Delete - usuwanie rekordu

Cały myk polega na tym, że wszelkie operacje na bazie danych są przeporwadzane przez ten interfejs. Zatem uniezależniasz się od konkretnej implementacji bazy. Zatem każdy obiekt modelu można wyposarzyć w obiekt DAO implementujący CrudDAO i po przetestowaniu w jednym miejscu możesz już pisać za pomocą interfejsów.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
L0
  • Rejestracja:około 19 lat
  • Ostatnio:około 16 lat
0

ok dzieki koziolek za rade, ostatnio moglem bawic sie tym nocami tylko i szlo mi jak krew z nosa :) w kazdym razie juz mi wszystko dziala i dla reszty userow przegladajacych to forum po poludniu wkleje te metody ktore umozliwiaja dodawanie wierszy :)


/loko
Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

bylo by bardzo milo loko0709. Ja jestem tak skolowany po kolejnych godzinach siedzenia nad projektem (zmianie wszystkiego z 10 razy) plus wykladzie z inzynierii i ogarnieciu nowych wzorcow(z kazdego po trochu mi pasuje) ze chce spytac o cos a nie wiem jak sformulowac pytanie.

Koziolek: prosba o jakis link do prostej implementacji DAO. Widze ze jest to eleganckie rozwiazanie ale nie wiem za bardzo jak cos takiego zaimplementowac a w googlach jakies nie zrozumiale cuda :) na razie czuje sie jakby moj program byl scenariuszem...chce go troche usamodzielnic. (to projekt z inzynierii programowania wiec chodzi glownie o jakosc kodu - nie tak jak jestem przyzwyczajony - jak dziala to nie ruszac:)).

Jeszcze pytanie: Jesli chce przeslac nie okreslona z gory liczbe obiektow z serwera (np spis klientow jakiejs firmy) to bedzie to najwygodniej bedzie to zrobic przesylajac kolekcje czy moze jest jakies inne rozwiazanie? (nie wiem jak przeskoczyc nie wiadoma iloc obiektow - moze byc 1, moze byc 392 albo moze nie byc zadnego:/).

przepraszam za moje arcy niezrozumiale wypowiedzi [wstyd]


play hard..go pro.
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Stacktrace
  • Postów:6822
0

@Freakman, o implementację upomnij isę na pw bo jestem po koncercie Vadera i Behemotha i padam na twarz. Co do Pytania to można skorzystać z listy lub z seta. Wszytko jedno. Potrzebujesz tylko jakiegoś obiektu opakowującego (odradzam tablice bo są mało elastyczne)


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
krzysztof85
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Łódź
  • Postów:48
0

Koledzy pomóżcie czemu nie udaje mi się załadować sterownika :-(

user image

Niby wszystko ok sterownik jest zainstalowany w NetBeans'ie a jednak kompilacja kodu zwraca błąd. Wszystko jest na foto.

Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

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


play hard..go pro.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.