---
title: "Använda en helsträng vid koppling till databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/91474-använda-en-helsträng-vid-koppling-till-databas"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Nickemannen"
published: "2003-11-28T10:51:51.000Z"
updated: "2003-12-02T12:18:10.000Z"
replies: 5
views: 280
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/91474-använda-en-helsträng-vid-koppling-till-databas"
---

# Använda en helsträng vid koppling till databas

## #1 — Nickemannen, 2003-11-28T10:51Z

Jag håller på med java och skall koppla den mot en mysql databas.

men jag undrar om det finns något annat sätt än det min pdf säger. Den säger att man skall skriva

```
Class.forName("com.mysql.jdbc.Driver");
String dbUrl = "jdbc:mysql://blabla/fkfkf";
Connection objConn = DriverManager.getConnection(dburl,"användarnamn","lösenord");
```

Men man borde ju kunna använda DriverManager.getConnection och skippa class.forname grejen ?
kan man inte använda en connectionsträng som innehåller

```
Connection objConn = DriverManager.getConnection("Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;")
```

Som man använder i andra språk ?

Permalänk: https://www.webforum.nu/p/91474

## #2 — Viktor, 2003-11-28T15:52Z

Det som du gör med Class.forName(XXX); är vad jag vet bara för att testa så att klassen finns och ladda den, jag *tror* du kan hoppa över denna rad.
De andra två raderna kan du ju lätt göra om till en rad

```
Connection objConn = DriverManager.getConnection("jdbc:mysql://blabla/fkfkf","användarnamn","lösenord");
```

Då har du allt på en rad, men varför?

Ofta vill du kunna hämta databas klass och url från en config fil och då vill du antagligen också testa om klassen finns osv innan du försöker skapa en connection.

/Viktor

Permalänk: https://www.webforum.nu/p/1215236

## #3 — Nickemannen, 2003-11-28T16:24Z

Men går det inte att använda
Connection objConn = DriverManager.getConnection(" Driver={mySQL};Server=mySrvName;Option=16834;Database=mydata
base;")
 eller liknande

Permalänk: https://www.webforum.nu/p/1215245

## #4 — Viktor, 2003-11-28T16:58Z

Inte vad jag vet, men vad är det du vill åstadkomma? Det kanske finns något annat sätt att lösa det på trots att det inte går att skriva som du vill.

/Viktor

Permalänk: https://www.webforum.nu/p/1215255

## #5 — Nickemannen, 2003-11-29T14:26Z

Jag försöker inte åstakomma något bara tänkte om det gick :)

Permalänk: https://www.webforum.nu/p/1215519

## #6 — spango, 2003-12-02T12:18Z

Re: Använda en helsträng vid koppling till databas

> **Nickemannen skrev:**
>
> Men man borde ju kunna använda DriverManager.getConnection och skippa class.forname grejen ?
> kan man inte använda en connectionsträng som innehåller
>
>
> ```
> Connection objConn = DriverManager.getConnection("Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;")
> ```
>
> 
> 
> Som man använder i andra språk ?

I "andra språk", d.v.s. där ODBC används ;) Du kan använda ODBC från Java, om du använder JdbcOdbcDriver - Googla om du vill veta mer. men du måste fortfarande använda Class.forName

Anledningen till att man måste använda Class.forName är för att drivern någonstans måste registreras, så att DriverManager vet var den ska leta upp drivrutinen till jdbc:mysql:-databaser. I ODBC har man registrerat en driver någonstans i operativsystemet, men eftersom man inte vill göra sådana antaganden i Java (delvis för att slippa en massa konstiga beroenden till höger och vänster) har man som konvention gjort som så att drivrutinsklasser registrerar sig själva hos DriverManager när de laddas (man kan lösa det på godtyckligt annat sätt, men det här är felxibelt). Man kan nämligen få kod att köras i klasser när de laddas, i static-blocket:

```
class StaticTest {
    static {
        System.out.println("Klassen StaticTest laddad.");
    }
}
```

Prova att köra den klassen, och lägg sedan till en main-metod som skriver ut nåt så ser du i vilken ordning allt sker :)

Permalänk: https://www.webforum.nu/p/1219512

---

Tråden på webben: https://www.webforum.nu/amne/java/91474-använda-en-helsträng-vid-koppling-till-databas
