Hej! Hejsan! Tack för svaret, men jag har redan lyckats ladda in drivern. Med ett annat fel som följd:Unable to connect to any hosts due to exception:java.security.AccessControlException:access denied Får det här meddelandet: Unable to connect to any hosts due to exception:java.security.AccessControlException:access denied(java.util.PropertyPermission file.encoding read) Hej! Det ska gå att connecta till en databas på samma maskin(server) som appleten hämtades ifrån. Du ska inte behöva signera appleten för detta eller skriva någon policy fil, man kan komma åt sockets från en applet om de finns på samma maskin som appleten laddades ner ifrån. Observera att detta bara fungerar med 100% jdbc drivers...alltså ingen jdbc-odbc brygga eftersom odbc är native kod. Hej! En sak du kan kontrollera är om din mysql server startas i Problem med Java mot MySql!
Jag har en Applet som jag försöker köra mot MySql, men hur jag än gör så kan jag inte koppla upp mig mot databasen. Får det här meddelandet: Unable to connect.
Min kod:
<code>
//registrera driver och etablera förbindelse med databasen
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost:3306/cdonline";
conn = DriverManager.getConnection(url);
//följande undantag kan kastas i ovanstående try-block
catch (ClassNotFoundException e) {
lblloggin.setText(e.getMessage());
}
catch (IllegalAccessException e) {
lblloggin.setText(e.getMessage());
}
catch (InstantiationException e) {
lblloggin.setText(e.getMessage());
}
catch (SQLException e) {
lblloggin.setText(e.getMessage());
}
</code>
Det kan ju inte vara så mycket att göra fel på egentligen. Jag använder för närvarande inget anv.namn eller lösenord. Jag kommer in från DOS-prompten och från MySqlGraphic utan problem. Har lagt till mysql-connector-java-3.0.8-stable-bin.jar i CLASSPATH och även i Java 2 Runtime Environment under ext. Några tips!Sv: Problem med Java mot MySql!
Funderar om du laddar drivare rätt?
Nu har jag inte använt mysql-connector-java-3.0.8 utan mysql-connector-java-2.0.14 men det borde vara samma sak tycker jag.
Iallafall för att ladda den versionen av drivaren som jag använde skrev man:
Class.forName("org.gjt.mm.mysql.Driver");
Du kan kopiera in jarfilen + paketen com och org i jre/lib/ext det ska räcka .
Hoppas detta är till nån hjälp!
KristinaSv: Problem med Java mot MySql!
Vad menas med det?
Har kollat lite på nätet och pratas det om att signera appletar?! Finns det någon normal svensk som kan förklara det här för mig?Sv: Problem med Java mot MySql!
Vad jag har förstått så har det med att appleten inte har några läsrättigheter, och det anger man i policy filen. Eller? Hur funkar den?Sv: Problem med Java mot MySql!
Ja jag misstänkte att du skulle få problem med att låta en applet koppla upp sig mot en databas.
Nu är jag inte så hemma på applets eftersom jag sysslar mest med swing applikationer, men lite grann vet jag.
Bl.a är det så att eftersom meningen med applets är ju att de ska kunna spridas på nätet, därför innefattas de av en strikt säkerhetskontroll. En applets får bl.a aldrig normalt:
* läsa eller skriva till filer på den egna maskinen
* får inte göra nätverksförbindelser med annat en den dator den kom ifrån
* får inte starta program lokalt
* får inte läsa systemvariabler
Rättigheterna appleten har beskrivs i en policyfil. (javas standardpolicyfil finns i jre/lib/security). Och detta med policyfiler verkar vara ett ganska komplext område! Vad jag förstår så kan man inte bara förse en applet med en egen policyfil hur som helst eftersom det skulle låta dig åsidosätta systemets säkerhetsinställningar. Utan man måste skapa en signerad jarfil och efterfråga passande rättigheter inifrån koden. Hur detta går till har inte en susning om. Har du kollat suns hemsida? Men jag misstänker (eftersom ämnet är komplext) att det kan vara svårt att hitta ett enkelt och lättfattligt svar. Prova även att söka på nätet på policyfiler, signerade jarfiler/applets, ibland har man tur och hittar nån hemsida där nån vänlig eldsjäl beskriver ett komplicerat problem på ett enkelt och logiskt sätt.
Så är jag ju lite nyfiken också (eftersom jag gillar att ”prata” java :-)), vad är det för program du gör? Hur/var ska det användas?
KristinaSv: Problem med Java mot MySql!
Så, det går använda jdbc direkt ifrån en applet men det är ingen bra design. Du måste då ha databasen på samma maskin som webservern, du kan få problem med brandväggar mm. Ett bättre alternativ är att sköta all databashantering på serversidan av din applikation. Då behöver du inte heller alltid uppdatera din applet om du gör förändringar i databasen eller om du helt byter databashanterarare så behöver du inte skicka med några nya jdbc:s. Detta gör du kanske enklast genom serialisering och tunnla anropen över http.
För att få koden att fungera bör du nog byta ut "localhost" mot din servers ip-nummer. Vilket naturligtvis inte bör ligga hårdkodat i din connection string.
Lycka till.
/KlasSv: Problem med Java mot MySql!
Jag har gjort en cd-butik (typ ginza) där man kan gå in och beställa skivor. Kunddelen är gjord i php och den administrativa sidan är gjord i java. Med php går det bra att koppla upp sig men inte med java.
Tidigare så körde jag den här mot linux med postgres databashanterare utan problem (men ska jag vara ärlig så var det inte jag som konfigurerade servern då).
Nu tänkte jag testa den lokalt med webserver och databas på samma maskin, och då ska jag inte behöva en policyfil? Varför får jag då ovanstående fel?
Har provat med andra ipnr oxå (router i och ur kopplad,alltså inte med varken localhost el. 127.0.0.1) men jag fick det inte riktigt att fungera då heller, men efter ca: 10-15 sek fick jag ett annat felmeddelande (slutade på connect,resolve). Är det ett framsteg? Eller åt andra hållet?
Jag började med en policyfil (i policytool)men jag fick det inte riktigt att fungera då heller. Keystore, vad är det? Måste man ha en sån?
Det finns ju mängder med info på nätet, men de flesta är ju tyvärr ganska krångliga att förstå.
Hmm...nä, jag känner mig ganska vilsen nu. Snälla, hjälp mig!Sv: Problem med Java mot MySql!
--skip-networking läge. Det ska den inte göra om du vill kunna connecta till den "utifrån". Det låter som om det skulle kunna vara problement. Men återigen...tänk över om du verkligen vill ha en design där appleten pratar direkt med databasen, det är som sagt ingen bra design.
/Klas