Instalacja J/Connector

0

Witam!
Mam podobne pytanie, dotyczące sterownika mysql.
Mam konto na serwerze ovh.org, baze danych i tablicę w niej.
Chcę napisać applet, który będzie się z tą bazą komunikował.
Jako że komunikacja z bazą możliwa jest tylko z serwera, applet też ma być uruchamiany z serwera.
I teraz pytanie, jak to zrobić, bo nie mogę się w tym wszystkim połapać, google mi się już przegrzały i czytałem naprawdę mnóstwo tego.
Czy sterownik mysql-connector-java-3.1.12-bin.jar ma być na komputerze u mnie, czy na serwerze?
Jesli u mnie, to w którym folderze, bo mam ich konkretnie 5 (java nie sprzata po sobie) :/

jre1.5.0_02
j2sdk1.4.2_11
j2re1.4.2_11
jdk1.5.0
jre1.5.0

aktualnie aktywne jest jre1.5.0_02.
Nie mogę też zrozumieć czym się różni jdk od sdk... [sciana]
Proszę, pomóżcie [soczek]

0

JDK == SDK

musisz zrobic tak:

  1. aplikacje upakowac do jara np. APP.jar
  2. w jakims katalogu na serwerze musi tez byc ten connector
  3. w APP.jar masz plik MANIFEST.MF ktory powinein zawierac wpis:
    Class-Path: tutaj sciezka (wzgleda starczy) do tego connector.jara
    ta sciezka musi sie konczyc plikiem jar i koniecznie z rozszerzeniem
    (zakladam ze potrafisz tworzyc jary i manifesty, jesli nie to szukaj na forum bo juz bylo)

w ten sposob applet bedzie sobie scoagal potrzebne klasy, w tym przypadku connectora
zgodnie z zasada ze aplety moga sie laczyc z serwerem z ktorego pochodza powinno zadzialac, ale nie daje glowy bo jest pozno i jestem glodny

0

dzieki, zaraz sprawdze :d

0

I napisz czy dziala bo sam jeztem ciekawy. Pozdro

0

manifest utworzyłem
jar też

wrzuciłem pliki na serwer
tylko problem jest taki
że przeglądarka zapamiętała sobie pierwszą wersję wysłanego pliku jar
i jak go podmieniam, to ciągle wyświetlany jest stary applet i nie mogę wprowadzić żadnych zmian (tzn. nie mogę ich zobaczyć) [sciana]

0

No to wcisnij na chama F5 kilka(nascie) razy. W koncu sciagnie nowego jara.

0

nie działa :(
http://betonek.ovh.org/java/base.html

manifest.mf:

Manifest-Version: 1.0
Created-By: 1.4.2_02 (Sun Microsystems Inc.)
Main-Class: BaseTest
Class-Path: mysql-connector-java-3.1.12-bin.jar

BaseTest.java:

import java.awt.*;
import java.applet.*;
import java.sql.*;

public class BaseTest extends Applet {
	String mess;
	String data="jdbc:mysql://mysql.60free.ovh.org/betonek";
	String user="betonek";
	String pssd="hasełko :)";

	public void init()
	{
		setLayout(null);
		setSize(400,400);
		setBackground(Color.gray);
		setForeground(Color.yellow);
		try {Class.forName("com.mysql.jdbc.Driver").newInstance(); }
		catch(Exception e){mess=""+e.getMessage();} 
		try
		{
			Connection polaczenie=DriverManager.getConnection(data,user,pssd);
			mess="nawiazal polaczenie";
		}
		catch(SQLException e){mess=""+e.getMessage();}
	}

	public void paint(Graphics g)
	{
		g.drawString("Connecting to base....",10,60);
		g.drawString(mess, 10, 80); 
   	}
}
0

oooo, coś nowego już :)

0

Nie siedze przy kompie z java wiec nie moge sam zobacyc co jest zle. Jaki sblad / wyjatek jest zwracany?
Manifest musi sie konczyc linia z samym enterem, ale nie wiem czy to bedzie wina tego.

0

manifest w realu ma tego entera :)

podejrzewam, że coś z tą bazą źle się łączę
adres serwera bazy danych: mysql.60free.ovh.org
user: betonek
nazwa bazy: betonek
nie wiem, czy dobrze to wszystko podaję :(

na forum ovh nikt nie pisze nic na temat javy itp.

0

komunikat jak w linku: http://betonek.ovh.org/java/base.html

0

pojawiaja się komunikat, który można w skrócie opisać "Access Denied":

Unable to connect to any hosts due to exception: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)** BEGIN NESTED EXCEPTION ** java.security.AccessControlExceptionMESSAGE: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)STACKTRACE:java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)at java.security.AccessControlContext.checkPermission(Unknown Source)at java.security.AccessController.checkPermission(Unknown Source)at java.lang.SecurityManager.checkPermission(Unknown Source)at java.lang.SecurityManager.checkConnect(Unknown Source)at java.net.Socket.connect(Unknown Source)at java.net.Socket.connect(Unknown Source)at java.net.Socket.<init>(Unknown Source)at java.net.Socket.<init>(Unknown Source)at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:124)at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)at com.mysql.jdbc.Connection.createNewIO(Connection.java:1783)at com.mysql.jdbc.Connection.<init>(Connection.java:450)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)at java.sql.DriverManager.getConnection(Unknown Source)at java.sql.DriverManager.getConnection(Unknown Source)at vdt.VdtModuleApplet.getConnection(VdtModuleApplet.java:444)at vdt.VdtModuleApplet.init(VdtModuleApplet.java:105)at sun.applet.AppletPanel.run(Unknown Source)at java.lang.Thread.run(Unknown Source)** END NESTED EXCEPTION **

Chodzi chyba o zezwolenie na łączenie się z bazą danych
Czy mogę w tym celu wykorzystać plik java.policy, skoro działam na serwerze?
Ma ktoś jakiś pomysł, jak to rozwiązać?

0

No sprobuj z plikeim policy, co ci szkodzi.

0

umieszczenie odpowiednio spreparowanego pliku w katalogu z appletem nie pomogło :(
kombinuję teraz ze znakowaniem RSA appletu, ale nie wiem, czymu miałoby to pomóc [???] http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html

0

nie mam pojęcia, jak to zrobić
myślę, że plik java.policy mógłby pomóc, ale nie wiem, co z nim zrobić

0

Sorki ze tak pozno ale nie bylo czasu a pozniej serwis padl. No wiec ja zrobilem to o co Tobie chodzi, i to dokladnie tak jak mowilem. Z tego weyjatkou ktory pokazujesz wynika ze masz w polaczeniu z mysql wpisany localhost, a to przeciez bedzie dzialac tylko na twojej maszynie. W aplecie musisz podac adres twojej maszyny i wszystko bedzie ok. Pozdro.

0

tzn. to ma być tak, że bazę SQL mam na serwerze ovh.org. Na kompie nie mam, żadnego SQL. No i chodziło o to, żeby applet umieszczony na serwerze łączył się z bazą, tak jak może to zrobić np. PHP.

0

Wiec musisz zrobic tak:

  1. jar z apletem na serwer, rowniez jar z connetcorem
  2. stronka ktora ma aplet na server - to wiadomo
  3. a aplecie musisz jako hosta podac server ovh.org i wszystkie hasla i loginy

Teraz jak ktos wejdzie na twoja stronke to sobie sciagnie jara z apletem ktory sie uruchomi. Jak bedzie wymagana jakas klasa z connectora to automatycznie sie dociagnie na komupter klienta.

W PHP jak pisales taka aplikacje to jakos hosta pisales localhost - wynika to z tego ze caly skrypt jest wykonywany na serwerze.
Jednak z apletem sprawa jest inna - aplet jest sciagany na komputer klienta, zatem jakos hosta musisz podac avh.org itd. Zgodnie z zasada ze aplet moze sie laczyc tylko z serverem z ktorego pochodzi wszystko bedzie dzialac. Pamietaj jednak ze jesli bedziesz aplet testowal u siebie na kompie, to nie bedzie dzialac poniewaz bedzie sie probowal laczyc nie z serwerem z ktorego pochodzi (localhost) a z avh.org. Do testow wiec zainstaluj sobie mysql na localu i pozniej zmien tylko dane do polaczenia, albo inaczej co chwile bedziesz musial wysylac jara z apletem na server.
Mam nadzieje ze tym razem wszystko wiesz. Powodzenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1