2011-03-10 2 views
3

Je cherche un moyen d'exposer mon serveur d'application Java EE via une connexion ODBC. C'est; J'ai besoin de servir les données de mon AS aux applications qui s'y connectent avec ODBC.Interface/pilote ODBC écrit en Java

Cela signifierait probablement que je dois écrire un pilote ODBC personnalisé en Java, ce qui semble être une tâche ardue.

Quelqu'un ici avec une expérience de cela? Est-ce que cela a déjà été fait? Toutes les bibliothèques pour commencer? Suis-je fou?

EDIT: C'est une question d'intégration entre mon serveur d'applications et clients en lisant des données à partir d'elle via ODBC. Spécifiquement dans sa première itération, Microsoft SharePoint. J'ai déjà un JAX-WS, mais malheureusement c'est un non pour les services d'analyse SharePoint/Cudes/MS/Services MS Reporting etc.

Les données seraient représentées fondamentalement comme une table plate. Le problème que je rencontre concerne les produits bas de gamme. Protocole, négociation, authentification. Si j'en arrive au point où je peux accepter une connexion ODBC et pousser des données tabulaires, je suis libre à la maison.

+0

Je ne suis pas. Élaborez sur ce que vous voulez faire. –

+0

Ça me semble un peu fou. :) Une énorme tâche. Pouvez-vous rendre les données disponibles via les services Web à la place? Cela correspond davantage aux approches Java EE AS ​​typiques. –

+0

Oui, le service web est déjà là, malheureusement ODBC est nécessaire aussi. – Elijah

Répondre

1

Vous pouvez essayer une base de données en mémoire telle que h2 qui supporte ODBC et y introduire vos données.

+0

Très intéressant, va vérifier! – Elijah

2

Exécutez une base de données distincte à laquelle vos clients peuvent se connecter. Votre serveur ne fait que pousser les données dans cette base de données. Mais, ce ne sera pas un mécanisme basé sur la demande-réponse. Le serveur devra remplir les tables avant d'anticiper les demandes des clients. Vous devrez peut-être gérer l'authentification/l'autorisation en créant un utilisateur db pour chaque client, puis avoir une table pour chaque utilisateur db et en limitant l'utilisateur db à sa seule table.

Pas si élégant, hein?

+0

Doable, oui. Mais pas pour moi. La quantité de données requises pour cela est énorme. Il doit être basé sur la demande et limiter la sélection. Mais merci! – Elijah

4

Elijah:

Une suggestion est d'utiliser un SDK pour créer un pilote. 90% du travail est déjà fait dans le SDK. Je travaille pour Simba Technologies et c'est exactement ce que nous faisons. Aidez des personnes comme vous à construire des pilotes ODBC en C++, Java et C#. Jetez un oeil à notre site www.simba.com

Suzanne

0

Merci pour vos propositions utiles. Cependant, j'ai fini par construire un pilote JDBC et distribuerai un pilote de pont ODBC-JDBC générique sur ce dernier.

Je vais probablement utiliser ce pont: http://uda.openlinksw.com/odbc-jdbc-st/