Avatar billede mr.gessle Nybegynder
29. marts 2001 - 08:40 Der er 4 kommentarer og
1 løsning

URL connection til Access database

Jeg mangler noget hjælp til at kunne connecte til en Access database via en URL-connection i java. Hvordan gør man dette nemmest?!? Er tilgangen i øvrigt synkroniseret således, at Readers/Writers problemet ikke opstår?!?
Avatar billede disky Nybegynder
02. april 2001 - 09:51 #1
beskriv venligst dit problem lidt mere detaljeret
Avatar billede alexbp Nybegynder
03. oktober 2001 - 13:12 #2
Her er en komplet generel database-klasse til ODBC...

.. extend denne klasse hvor du vil have DB-connection

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
//import java.util.Vector;
import java.util.*;
import java.lang.*;

public class DbCon implements SingleThreadModel { 

  // VARIBLES
  public static Connection con;
  //private Statement stmt = null; // (private) VAR for SQL-statements
  //private ResultSet rs = null; // (private) VAR for SQL-result Sets
  //private ResultSetMetaData rsmd = null;
  //private int updateCount = 0;

// ODBC-link - Tilpasses valgte ALIAS i henhold til maskinen
// 1) Udskift \'xxx\' med det pågældende navn -     (String url = \"jdbc:odbc:xxxxx\";)
// 2) Udskift username                            (String username = \"xxxx\";)
// 3) Udskift password - evt. blank                (String password = \"xxxx\";)
//-------------------------------------------------------------------------- >>> 
    String url = \"jdbc:odbc:xxx\";
    String username = \"xxx\";
    String password = \"xxx\";
//-------------------------------------------------------------------------- >>>


// Constructor
public DbCon() {
 
    try {
      // Load (and therefore register) the Sybase driver
      Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\");
      con = DriverManager.getConnection(url, username, password);
      this.con = con;
    }
    catch (ClassNotFoundException cnfex) {   
      System.err.println(\"JDBC/ODBC driver kunne ikke findes.\");
      cnfex.printStackTrace();
    }
      catch (SQLException sqlex) {
        System.err.println(\"Forbindelsen kunne ikke etableres \" + sqlex);
        sqlex.printStackTrace();
    }
  } // end Contructor
 
//--------------------------------------------------------------------------------- >

//Konverteringsmetoder for DB - idet vi kører med AutoNr, Integer KUN på nøgler
    private int DBStrToInt(String string) {
        int tal = Integer.parseInt(string);
        return tal;
    }
   
    private String DBIntToStr( int tal) {
        String string = \"\";
        string += tal;
        return string;
    }
// ------------------------------------------<

// Metode til at lukke link til JDBC-ODBC databasen

   
  public void dbClose() {
    // Lukker database-forbindelsen !
    try {
      if (con != null) con.close();
    }
    catch (SQLException ignored) { }
  }

 
}
Avatar billede disky Nybegynder
03. oktober 2001 - 13:14 #3

ved brug af MySQL har jeg:
jdbc:mysql://localhost/Crawler

Så prøv at ret:
String url = \"jdbc:odbc:xxx\";
   
til

String url = \"jdbc:odbc://DatabaseServerensNavn/DataBaseNavn\";
   

Hvis access basen er på den lokale maskine skrive \'localhost\' som navnet
Avatar billede alexbp Nybegynder
03. oktober 2001 - 13:15 #4
.... og ja - den imødekommer Readers/Writers ved at implementere \'SingleThreadModel\' klassen, som håndterer det
Avatar billede mr.gessle Nybegynder
03. december 2001 - 07:57 #5
Well... Det er nu 3/4 år siden og vi har erfaret at dette ER teknisk umuligt, så æv bæv ingen point til dig ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester