---
title: "problem med SQL - Jsp/Servlet"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/78821-problem-med-sql-jsp-servlet"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "jme"
published: "2003-06-03T18:31:49.000Z"
updated: "2003-06-04T20:58:35.000Z"
replies: 6
views: 318
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/78821-problem-med-sql-jsp-servlet"
---

# problem med SQL - Jsp/Servlet

## #1 — jme, 2003-06-03T18:31Z

Hej!

Jag har följande problem...

Jag vill koppla upp mig mot en egen MySQL databas.

Gör jag det genom en vanlig Java-applikation så fungerar det utmärkt. Jag kör med jdbc-odbc bridge och med MyODB Connector 3.5.1 drivrutin. 

Gör jag samma sak fast genom en Servlet så får jag hela tiden en
java.sql.SQLException angående att Data sorce inte hittas.

Följande kod fungerar bra från ett vanligt Java-program:

```php

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection("jdbc:odbc:javahelp");
```

 

Samma kod fungerar inte ifrån en .jsp sida.

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

## #2 — Lime, 2003-06-04T07:23Z

Tjing!

Jag gör antagandet att du kör Tomcat. Om inte så anpassa till din JSP-motor.

Jag har följande installation:
JAVA_HOME=C:\\java\\jre
TOMCAT_HOME=C:\\Tomcat

Först, kopiera *MySQL Connector JAR* filen  till c:\\Tomcat\\common\\lib. Den fil jag använder är mysql-connector-java-2.0.14.jar.

Du hittar den på <http://www.mysql.com/downloads/api-jdbc.html> om den inte fanns med i MySQL.

Sedan ska du skriva något som liknar detta:

```php
<%@ page import="java.sql.*" %>
<%
String connectionURL = "jdbc:mysql://localhost:3306/mydatabase?user=;password=";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
%>

<html><body>

<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "", "");
statement = connection.createStatement();
rs = statement.executeQuery("SELECT * FROM mytable");

while (rs.next()) {
out.println(rs.getString("myfield")+"<br>");
}

rs.close();
%>
</body></html>
```

Den stora skillnaden här är connectionString och att det är en URL.

Självklart måste du byta ut mydatabase och mytable o.s.v. mot dina egna värden.

Testa detta.

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

## #3 — jme, 2003-06-04T12:22Z

Tackar så himla mycket! :) Du sparade mig en del tid och förbannelse. ;)

Fick det att funka prima då jag följde dina instruktioner...

Du kopplar upp dig genom 

```php
String connectionURL = "jdbc:mysql://localhost:3306/javahelp";
```

 

Det visste jag inte riktigt om.

Har själv använt "jdbc:odbc:databasNamn" fast då måste man ange databasen till "Data sources" i Windows.

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

## #4 — Lime, 2003-06-04T14:08Z

Jo, jdbc:odbc-bryggor funkar skitbra när man kör på samma maskin som databasen eller kan sätt upp en datasource. I JSP och andra webbservices så är det lite knepigare och då måste man använda sig av connectors.

Det tog mig 4 dagar att hitta den informationen. Hoppas jag har sparat dig de dagarna.

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

## #5 — jme, 2003-06-04T14:12Z

Äsh! :)
Nu är jag även mer förvirrad. Nu så fungerar MYSQL tillsammans med jsp. Jag har gjort en klass som hanterar uppkopplingen mot databasen samt verifierar användarid samt lösenord.

Men om jag nu vill använda samma klass både genom vanliga Java-program samt genom Tomcat och jsp, hur gör jag det?

Jag förstår lite iaf att Tomcat måste veta vilken drivrutin den skall använda när den skall koppla upp sig mot databasen. Tomcat använder nån JConnector. som jag enligt dina anvisningar kopierade till katalogen c:\\Tomcat\\common\\lib

Men nu har jag lite problem med att få vanliga Java-program att hitta samma drivrutin, dvs "com.mysql.jdbc.Driver".

Jag hittade katalogen där "sun.jdbc.odbc.JdbcOdbcDriver" finns och testade med att kopiera den andra drivrutinen dit men det hjälpte inte. Får då:

"java.lang.ClassNotFoundException: com.mysql.jdbc.Driver"

Eller ska jag helt enkelt skapa en metod som väljer vilken drivrutin den ska använda beroende på om klassen körs genom tomcat eller om den körs genom vanliga java-program?

Hajar inte detta riktigt... :)

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

## #6 — Viktor, 2003-06-04T20:44Z

C.L.A.S.S.P.A.T.H :)
Lägg sökvägen till jar filen i din classpath så fungerar det i vanliga Java program också.

Alla filer som ligger i common\\lib lägger Tomcat till i sin interna classpath.

/Viktor

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

## #7 — jme, 2003-06-04T20:58Z

Hata CLASSPATH! ;)

Jag tyckte jag försökte med det...

Vet inte vad jag gjorde fel.  x(

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

---

Tråden på webben: https://www.webforum.nu/amne/java/78821-problem-med-sql-jsp-servlet
