Lister sources de données ODBC: driver servertec ou jdbc?

Signaler
Messages postés
16
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
1 mai 2008
-
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
-
Bonjour,

Mon application est censée lister les sources de données ODBC installées sur la machine. Les précédents développeurs ont utilisé un driver publié par Servertec et m'ont assurés que chez eux ça fonctionnait. Voilà le code qui permettait de récuperer les sources de données ODBC:

if (type.getSelectedItem().equals("SourceMicrosoft"))
        {
            try {
                Vector listenomsources= new Vector();
               
                for(Enumeration listesources = OdbcManager.getUserDataSources();listesources.hasMoreElements();)
                {                   
                    OdbcDataSource source =  (OdbcDataSource)listesources.nextElement();
                    String nomsource = source.getName();
                    listenomsources.add(nomsource);
                    nom.addItem(nomsource);
                }
                return listenomsources;   
            }
            catch (Win32Exception e)
            {
               
                e.printStackTrace();
               
            }
           
        }

Bien sûr, ça ne fonctionne pas. J'ai un message d'erreur comme s'il manquait un pilote:

Servertec (R) Foundation Classes Version 1.3.3 09/04/2005 Open Source Release
Copyright (C) 2001-2005 Servertec. All rights reserved.

Exception occurred during event dispatching:
java.lang.UnsatisfiedLinkError: no sfc_w2k in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)

pourtant j'ai bien vérifié, le driver est bien référencé dans le Classpath et je n'ai pas d'erreur lors des import.

Peux-t-on s'y prendre différemment pour lister les sources de données ODBC installé sur le système? (XP SP2 dans mon cas).
Sur le site de servertec, il y a deux jar correspondant au driver. L'un est semble-t-il un installateur mais il ne fonctionne pas:

http://www.servertec.com/products/sfc/sfc.html

Merci pour votre aide,

3 réponses

Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /><title></title><meta name="GENERATOR" content="OpenOffice.org 2.4 (Linux)" /><style type="text/css"><!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
--></style>l'erreur que tu donnes n'est pas une
erreur de classpath mais de chargement de librairie native... regarde
dans la doc (ou FAQ) du driver que tu utilises ils doivent expliquer
comment configurer le tout pour que les lib soient chargées comme il
le faut.

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
16
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
1 mai 2008

Je n'ai rien trouvé sur leur site (vieux et pas très bien documenté à mon avis)... Lorsque l'on télécharge le driver, y'a un package Source (sfc.jar, celui renseigné dans le classpath) et un fichier setup_src.jar. Peut-être que je dois installer quelque chose en plus ce n'est précisé nulle part. Et setup_src ne se lance pas quand je double-clique dessus..
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

bon pour faire simple le jar "setup_sfc.jar" faut le voir comme un gros zip rien de plus ^^
une fois décompressé tu as les fichiers et répertoires suivant :

.
`-- sfc
    |-- bin
    |   |-- sfc_w2k.dll
    |   |-- sfc_w9x.dll
    |   `-- sfc_wnt.dll
    |-- changelog.html
    |-- changes.txt
    |-- contact.html
    |-- copyright.html
    |-- copyright.txt
    |-- docs
    |   |-- allclasses-frame.html
    |   |-- allclasses-noframe.html
    |   |-- constant-values.html
    |   |-- deprecated-list.html
    |   |-- help-doc.html
    |   |-- index-all.html
    |   |-- index.html
    |   |-- overview-summary.html
    |   |-- overview-tree.html
    |   |-- package-list
    |   |-- resources
    |   |   `-- inherit.gif
    |   |-- serialized-form.html
    |   |-- stec
    |   |   `-- sfc
    |   |       `-- win32
    |   |           |-- BeepType.html
    |   |           |-- Console.html
    |   |           |-- CreateFileAttribute.html
    |   |           |-- Drive.html
    |   |           |-- DriveType.html
    |   |           |-- Env.html
    |   |           |-- ErrorMode.html
    |   |           |-- EventLog.html
    |   |           |-- EventLogRecord.html
    |   |           |-- EventLogType.html
    |   |           |-- File.html
    |   |           |-- FileAccessMode.html
    |   |           |-- FileAttribute.html
    |   |           |-- FileEnumerator.html
    |   |           |-- FileLockMode.html
    |   |           |-- FileMoveMode.html
    |   |           |-- FileOperation.html
    |   |           |-- FileSeekMethod.html
    |   |           |-- FileShareMode.html
    |   |           |-- FileSystem.html
    |   |           |-- FileSystemChangeEvent.html
    |   |           |-- FileSystemChangeHandler.html
    |   |           |-- FileSystemChangeListener.html
    |   |           |-- FileSystemChangeNotification.html
    |   |           |-- FileSystemFlag.html
    |   |           |-- FileType.html
    |   |           |-- HotKeyModifier.html
    |   |           |-- IOPort.html
    |   |           |-- Network.html
    |   |           |-- NetworkResourceDisplayType.html
    |   |           |-- NetworkResourceEnumerator.html
    |   |           |-- NetworkResourceScope.html
    |   |           |-- NetworkResourceType.html
    |   |           |-- NetworkResourceUsage.html
    |   |           |-- OdbcDataSource.html
    |   |           |-- OdbcDriver.html
    |   |           |-- OdbcManager.html
    |   |           |-- RandomAccessFile.html
    |   |           |-- RegistryKey.html
    |   |           |-- RegistryValueType.html
    |   |           |-- Shortcut.html
    |   |           |-- System.html
    |   |           |-- Win32Exception.html
    |   |           |-- Win32Message.html
    |   |           |-- package-frame.html
    |   |           |-- package-summary.html
    |   |           |-- package-tree.html
    |   |           `-- sfc.html
    |   `-- stylesheet.css
    |-- faq.html
    |-- features.html
    |-- future.html
    |-- future.txt
    |-- gpl_license.html
    |-- images
    |   |-- 25perc.gif
    |   |-- builtby.gif
    |   |-- builtbyani.gif
    |   |-- builtusing.gif
    |   |-- builtusingani.gif
    |   |-- builtwith.gif
    |   |-- builtwithani.gif
    |   |-- close.gif
    |   |-- download.gif
    |   |-- downloadani.gif
    |   |-- filler.gif
    |   |-- logo.gif
    |   |-- logo_alt.gif
    |   |-- open.gif
    |   |-- powered.gif
    |   |-- poweredani.gif
    |   |-- serverside.gif
    |   `-- serversideani.gif
    |-- index.html
    |-- installation.html
    |-- introduction.html
    |-- knowledge.html
    |-- knowledgebase.txt
    |-- legal.html
    |-- lib
    |   `-- sfc.jar
    |-- license.txt
    |-- logos.html
    |-- privacy_statement.html
    |-- readme.txt
    |-- release.html
    |-- requirements.html
    |-- samples
    |   |-- beep.class
    |   |-- beep.html
    |   |-- beep.java
    |   |-- driveinfo.class
    |   |-- driveinfo.html
    |   |-- driveinfo.java
    |   |-- envtest.class
    |   |-- envtest.html
    |   |-- envtest.java
    |   |-- eventlog.class
    |   |-- eventlog.html
    |   |-- eventlog.java
    |   |-- fileinfo.class
    |   |-- fileinfo.html
    |   |-- fileinfo.java
    |   |-- fstest.class
    |   |-- fstest.html
    |   |-- fstest.java
    |   |-- hostname.class
    |   |-- hostname.html
    |   |-- hostname.java
    |   |-- index.html
    |   |-- listfs.class
    |   |-- listfs.html
    |   |-- listfs.java
    |   |-- locktest.class
    |   |-- locktest.html
    |   |-- locktest.java
    |   |-- logoff.class
    |   |-- logoff.html
    |   |-- logoff.java
    |   |-- monitor.class
    |   |-- monitor.html
    |   |-- monitor.java
    |   |-- net.class
    |   |-- net.html
    |   |-- net.java
    |   |-- poweroff.class
    |   |-- poweroff.html
    |   |-- poweroff.java
    |   |-- rastest.class
    |   |-- rastest.html
    |   |-- rastest.java
    |   |-- reboot.class
    |   |-- reboot.html
    |   |-- reboot.java
    |   |-- regtest.class
    |   |-- regtest.html
    |   |-- regtest.java
    |   |-- shortcut.class
    |   |-- shortcut.html
    |   |-- shortcut.java
    |   |-- shutdown.class
    |   |-- shutdown.html
    |   `-- shutdown.java
    |-- terms_of_use.html
    |-- trademarks.html
    `-- trademarks.txt

et comme tu peux le voir le répertoire bin contient des lib natives... 10 contre 1 que c'est une d'elles qu'il te manque...

fin bon tu as également un fichier readme.txt qui contient une section 'installation' (comme sur leurs site) mentionnant ceci :

Use the following instructions to install Servertec Foundation Classes.


<ol compact= "compact"><li> Install Java JDK version 1.1.x or later.

Follow JavaSoft's instructions for installing the Java JDK.



</li><li> Extract setup_sfc.jar file.

c:
cd \
jar -xvf path \setup_sfc.jarpath the directory containing setup_sfc.jar.



</li><li> Define environment variables in c:\autoexec.bat file.



<ol compact ="compact" type= "I"><li> Define CLASSPATH
set CLASSPATH = path \lib\sfc.jar;path\samples;%CLASSPATH%path the base directory where SFC was installed, normally
c:\sfc.



</li><li> Define PATH
set PATH =path\bin;%PATH%path the base directory where SFC was installed, normally
c:\sfc.


</li></ol>

</li><li> Restart the computer.
</li></ol>donc ma question est la suivante :
as-tu suivit l'installation et surtout ajouté le répertoire bin (qui ne contient que des lib natives) dans ton 'path' ?

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO