Archief - [PROG][Java] Checken of sql server url geldig is

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

yannick

Legacy Member
Om mijn titel even te verduidelijken. Ik vraag via een gui een bepaalde port,username, pass en url op om deze dan te gebruiken om de connectie me de database te maken.

Nu ben ik al even aan het zoeken achter een manier om te checken of de url en poort die ze opgeven (bv http://localhost:1222) het adres is van de sql server (zonder een connectie te maken).

Momenteel heb ik dit, het checkt enkel of de url geldig is (dus niet vanwelke service deze is).

Code:
    private boolean checkurl() {    
        String urlsql=this.txtsqlurl.getText();
        String sqlport=this.txtsqlpoort.getText();
        String urlstring="http://"+urlsql+":"+sqlport;
        try{
            URL url = new URL(urlstring);
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            return true;
        }catch(Exception e){
            return false;
        }  
    }

Jammer genoeg doet deze manier het zelfs niet, hij geeft bij elke soort url true als uitkomst.

Als iemand mij opweg zou kunnen helpen zou ik dat ten zeerste appreciëren :).

Mvg
Yannick Wellens

Timmos

Legacy Member
die this.txtsqlurl.getText(), ben je zeker dat die methode niet altijd hetzelfde retourneert?

MemberX

Legacy Member
Heb je al eens een volkomen onmogelijke url opgegeven zoals bijvoorbeeld -1?

yannick

Legacy Member
Jep, bij -1 gaat hij ook door, vrij bizar. Want paar dagen geleden werkte het precies wel, maar heb het toen niet verder getest.

Iemand nog ideëen?

MemberX

Legacy Member
Heb je al eens de methode connect geprobeerd van de conn?

passero

Legacy Member
ik denk dat je dat enkel kan doen door een effectieve verbinding te maken. Als je bijvoorbeeld http://www.telenet.be:80 ingeeft zou volgens jouw logica, een true opleveren want de host bestaat.
Als je effectief wil controleren of er een sql server op draait zal je een verbinding moeten maken en in de catch controleren welke error je hebt om dan zo de nodige boodschappen te geven

Pietsnot

Legacy Member
}catch(Exception e){
system.out.println(e.getMessage());
return false;
}

normaal moet je nu uw fout te zien krijgen :)

yannick

Legacy Member
passero zei:
ik denk dat je dat enkel kan doen door een effectieve verbinding te maken. Als je bijvoorbeeld http://www.telenet.be:80 ingeeft zou volgens jouw logica, een true opleveren want de host bestaat.
Als je effectief wil controleren of er een sql server op draait zal je een verbinding moeten maken en in de catch controleren welke error je hebt om dan zo de nodige boodschappen te geven

Ja da kan ik doen, maar ik wil het doen zonder een connectie te maken (teveel connecties naar de database is ook niet goed...).

Ma tzal precies wel moeten :p

Bedankt voor de hulp!
grtz
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan