Bonjour à toutes et à tous,
Mon application se connecte à divers types de bases dont Sybase.
Pour ce faire, j'utilise jConnect (le driver "officiel" de Sybase il me semble), pour la simple et bonne raison que jTds ne semble pas vouloir se connecter à des bases ASA (juste ASE) (ASA = Adaptive Server Anywhere, ASE = Adaptive Server Enterprise)...
A noter également que je fais mes tests sur une version assez ancienne de cette base de données (8.x).
Mon souci, c'est quand il y a 2 (ou plus) bases de données tournant sur le même serveur.
Par exemple, appellons les UNE_BASE et AUTRE_BASE.
Mon url de connection est la suivante :
jdbc:sybase:Tds:localhost:2638/UNE_BASE?charset=utf8
Or, je m'apperçois que mon application va se connecter à la base AUTRE_BASE. Il suffit de stopper AUTRE_BASE pour que mon programme se connecte à UNE_BASE.
J'ai l'impression qu'il n'en a rien à faire du nom de la base de données que je lui donne dans mon url et qu'il va prendre la 1e base qu'il trouve sur le serveur...
Mon code Java pour exécuter une requête doit ressembler à un truc du genre :
Y a-t-il un problème dans mon code (vu sa basicité, j'en doute) ou est-ce un bug connu de ces drivers ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ... Driver driver = (Driver) Class.forName("com.sybase.jdbc3.jdbc.SybDriver").newInstance(); DriverManager.registerDriver(driver); Connection connection = DriverManager.getConnection(url, user, password); Statement statement = connection.createStatement(); ResultSet set = statement.executeQuery("..."); ...
Comment puis-je résoudre ce problème (je n'ai pas le choix de la base de données, inutile donc de me dire de changer de Bd ) ?
Merci.
Partager