MS-Access mit JAva auslesen

rwolf

Bekanntes Mitglied
hi all,

also ich hab schon einiges probiert, bevor ich hier poste :

Wenn ich unter Windows7 mittels java , jdbc😱dbc:... sätze auslese, stimmen die umlaute nicht,
es kommt meist '?'

versucht mit properties :
Java:
        //- fuer ODBC -MS-Access
            Properties p = new Properties();
            p.put("uid", kw);
            p.put("pwd", pw);
            p.put("charSet", "UTF8");
        
        url = url.toUpperCase();
        if(url.contains("ODBC"))
        {
            url = "JDBC:ODBC:";
            url += "Driver={Microsoft Access Driver (*.mdb)}; DBQ=";
            url += dbname+".mdb;";
            url += "uid=admin;pwd=;";
        }    
        else 
        {    
            url += dbname;
            //url += ";SET NAMES 'utf8';";
            //url += "?useUnicode=true&characterEncoding=utf8";
        }
        System.out.println("tff get_conn_by_owndb_infos URL : "+url+" KW : "+kw+" PW : "+pw);
        
        int step = 0;
        try
        {
            Class.forName(driver); 

            System.out.println("tff get_conn_by_owndb_infos Treiber akzeptiert !");

            step++;

            if(url.contains("ODBC"))
                cn = DriverManager.getConnection(url,p);
            else    
                cn = DriverManager.getConnection(url,kw,pw);
            System.out.println("tff get_conn_by_owndb_infos URL+Login akzeptiert zu "+url);

keine Abhilfe; wie ich im web las, geht es heutzutage nicht mehr mit "charSet", "UTF8"

und jetzt ?

habe mit direkt-treibern versucht :
easysoft : mag 'meine' urls garnicht, vendor äußert sich nicht
jstels : mixt nen merkwürdigen db-name dazu, bisher keine rückmeldung von vendor

bleibt wohl nur, die strings durchzusuchen auf einzelne chars..ord..mittels hashmap austauschen..
wo ist nur meine stricknadel hin 🙂
 
hab mittlerweile festgestellt, daß schon rs.getString(i) nur noch fragezeichen(ASCII 63) statt umlaute bringt,
also kann eine nachträgliche umsetzung mittels Hashmap nix bringen..stöhn
 
danke für antwort !
leider ist jackcess nicht so toll dokumentiert, scheitere schon am import :
Java:
ackage jackcesstest;

import java.io.*;
import java.sql.*;
import com.healthmarketscience.jackcess.*;

public class JackcessTest {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        System.out.println(Database.open(new File(""C:\\FaKistermy\\MOON\\moondata.mdb"")).getTable("Eilpost").display());
    }
}

habe die jar bei Netbeans eingebunden
aber es wird wohl noch mehr jars in der lib gebraucht ?

gruss
wolf
 
habe jetzt noch die folgenden jars dazugebunden :
commons-logging-1.1.1.jar
commons_lang.jar
jcommon-1.0.15.jar

und es funzt, sogar mit korrekten umlauten !

recht schönen dank für den tip !
 
habe jetzt noch die folgenden jars dazugebunden :
commons-logging-1.1.1.jar
commons_lang.jar
jcommon-1.0.15.jar

und es funzt, sogar mit korrekten umlauten !

recht schönen dank für den tip !

Ah ja. Das hätte ich wohl direkt erwähnen sollen.
Man wundert sich immer, warum es nicht funktioniert. Ist nicht so toll ersichtlich, dass man auch noch ein paar andere Librarys dafür braucht.
Wenn es jetzt aber geht, ist ja alles gut. 🙂
 

Zurück
Oben