2012-05-02 10 views
8

Próbuję połączyć bazę danych z projektem Java. Po przeczytaniu kilku samouczków i obsługi kursu zrozumiałem, że muszę utworzyć nowe źródło danych w konsoli administracyjnej.źródeł danych derby - odmowa połączenia

Zalogowałem się do konsoli administratora, następnie nawigowałem do Zasobów -> JDBC -> Źródła danych -> Nowe; wypełnione pola i gdy jestem testowania połączenia, błąd jest to jedno:

Wiadomości Operacja Test połączenia nie powiodło się dla źródła danych MojaBD na serwerze server1 w RO2CVG6CNode01 węzłów z następującym wyjątkiem: java .sql.SQLNonTransientException: java.net.ConnectException: Błąd połączenie z serwerem lokalnym na porcie 1527 z komunikatem Połączenie odrzucone: connect.DSRA0010E: SQL State = 08001, kod błędu = 40 000. Wyświetl dzienniki JVM w celu uzyskania dalszych szczegółów.

Nie wiem, gdzie jest problem. Może z nazwą bazy danych: jdbc: derby: D: \ MyDB? Czy ktoś może mi pomóc? Próbowałem również używać MyDB tylko po this tutorial.
Ale nadal nie działa.

+1

Błąd podczas łączenia z serwerem localhost na porcie 1527 -> Błąd ten mówi, że nie ma bazy danych działa na porcie 1527 – oers

+0

upewnić, że serwer działa: http: //www.myeclipseide .com/documentation/quickstarts/blueedition/blue_websphere_data_source/images/myeclipse_derby_server_running.png – oers

+0

Ten link będzie pomocny: http://stackoverflow.com/a/30272670/3728901. Jeśli zrobimy to krok po kroku, unikniemy błędów. –

Odpowiedz

27

Czy masz Derby Server działa?

Jest całkiem możliwe, że próbujesz połączyć się z bazą danych bez rzeczywisty serwer działa na porcie 1527

Można spróbować nawiązywania połączenia przy użyciu powłoki wiersza poleceń/linux - w zależności od systemu operacyjnego za pomocą.

Spróbuj tego, jeśli chcesz:

  1. otworzyć wiersz polecenia
  2. nawigować do Derby katalogu instalacyjnym
  3. przejdź do katalogu „bin” (Uwaga: Przejdź nawiązaniu do folderu networkServer jeśli istnieje)
  4. Type "startNetworkServer" i naciśnij Enter

Powinieneś otrzymać wiadomość, która mówi somethi w ten sposób:

2012-08-29 10: 57: 16.559 GMT: Menedżer bezpieczeństwa zainstalowany przy użyciu zasad zabezpieczeń podstawowych serwera. 2012-08-29 10: 57: 16.809 GMT: Serwer sieci Apache Derby - 10.6.2.1 - (999685) rozpoczął i jest gotowy do przyjmowania połączeń na porcie 1527

Jeśli nie, to może można sprawdzić zaporę (komentarze zaproszonych tutaj :)

Jeśli tak, to może przetestować połączenie przy użyciu następującej metody:

  1. otworzyć kolejny wiersza polecenia
  2. Przejdź do katalogu instalacyjnego Derby
  3. przejdź do katalogu „bin”
  4. Typ "ij" i naciśnij Enter
  5. wpisz:

    connect 'jdbc:derby://localhost:1527/MyDB'; 
    

    ... i nacisnąć Enter

Jeśli wszystko pójdzie dobrze, dostaniesz "ij>" prompt plecy.

Tutaj można wprowadzić zapytania SQL, aby przetestować połączenie dalej.

Jeśli nie, to mogą być inne problemy.

przypadku tworzenia bazy danych po raz pierwszy w Derby, wtedy trzeba by użyć tego zamiast kroku 5 powyżej:

 connect 'jdbc:derby://localhost:1527/MyDB;create=true'; 

... i nacisnąć Enter po

Mam nadzieję, że robiąc te rzeczy, dostaniesz połączenie. W ostatniej instancji otrzymasz co najmniej nową bazę danych o nazwie MyDB, która jest aktywna na serwerze Derby. Jeśli twoja oryginalna baza danych (MyDB) jest względnie mała, może być szybsza, aby zrekonstruować ją ponownie w dowolnym celu, dla którego jest to potrzebne.

Co więcej, jeśli ustanowisz połączenie, możesz wypróbować inne narzędzia używane do tworzenia baz danych, ponieważ przynajmniej wyeliminowałeś możliwość, że połączenie jest problemem.

Pamiętaj tylko, aby sprawdzić numer portu, który jest raportowany w kroku 4. Zazwyczaj jest to 1527. Jeśli nie, zmień numer portu w kroku 5 (lub polecenie zastąpienia nowej bazy danych) dla dowolnego portu jest określony w wiadomości od Derby.

Nadzieja to pomaga i powodzenia :)

Wayne Riesterer

+1

+1 dla wyjaśnienia opisowego. – dShringi

+0

+1 za to szczegółowe wyjaśnienie .. – EsmaeelQash

1

Zapoznaj się z dokumentacja Apache Derby here .....

Skonfiguruj środowisko korzystać kierowcy Derby Network Client JDBC

Aby użyć sterownika Derby Network Client JDBC, ustaw swój CLASSPATH, tak aby zawierał pliki jar wymienione poniżej:

  • derbyclient.jar: zawiera sterownik JDBC
  • derbytools.jar: opcjonalnie, dostarcza narzędzie o IJ

Można ustawić CLASSPATH wyraźnie ze pokazane polecenie poniżej: Windows:

C:\> set CLASSPATH=%DERBY_INSTALL%\lib\derbyclient.jar;%DERBY_INSTALL%\lib\derbytools.jar;. 

UNIX:

$ export CLASSPATH=$DERBY_INSTALL/lib/derbyclient.jar:$DERBY_INSTALL/lib/derbytools.jar:. 

następnie spróbuj tworzenia bazy danych jak to po wpisaniu komendy w wierszu ij ij .....> połączyć

jdbc:derby://localhost:1527/Chapter01DB;create=true; 
1
  1. Pobierz Derby do następującej lokalizacji:

    /home/ <user_directory> /apache-derby/ 
    
  2. classpath Setup/ścieżki jak poniżej:

    export DERBY_HOME=/home/<user_directory>/magister-database 
    
    export DERBY_INSTALL=/home/<user_directory>/apache-derby/db-derby-10.11.1.1-bin 
    
    export CLASSPATH=$DERBY_INSTALL/lib/derbyclient.jar:$DERBY_INSTALL/lib/derbytools.jar:$CLASSPATH 
    
  3. Uruchom serwer sieciowy:

    /home/<user_directory>/apache-derby/db-derby-10.11.1.1-bin/bin/startNetworkServer 
    
  4. polecenie Run Derby wiersz jak poniżej:

    java org.apache.derby.tools.ij 
    
    connect 'jdbc:derby://localhost:1527//home/<user_directory>/<database-directory>/<database-name>'; 
    
    show tables; 
    
    disconnect; 
    
    exit;