Se connecter à la source de données OLEDB à partir de Java?
Nous essayons de vous connecter à une instance de SQL Server utilisé par la LOI sur le système CRM. Ils ont réussi à verrouiller les choses de sorte qu'il n'est pas possible de se connecter à SQL back-end à l'aide de ODBC (il y en a un utilitaire spécial qui va ajouter de la prise en charge ODBC, vous pouvez l'installer si vous achetez la primo version du logiciel, mais c'est juste fou).
La méthode recommandée pour la connexion à des thèses, des bases de données à l'aide d'une connexion OLEDB.
Quelqu'un a une astuces/idées/etc... pour savoir comment faire et utiliser une connexion OLEDB à partir de Java?
Cela n'a pas à être JDBC si ce n'est pas possible. Tout ce que nous vraiment besoin de faire est d'exécuter une requête SELECT qui retourne deux champs et analyser ces valeurs de champ pour chaque ligne. J'ai très peu d'expérience avec OLEDB, de sorte 'utilisation JACOB" pourrait être une bonne réponse, mais j'apprécierais quelques détails sur ce que les appels COM devrait en fait être.
- Pourquoi ne pas simplement utiliser le type 4 (natif) de Microsoft pilote JDBC?
- Je vais essayer (je préfère jtds, moi-même) - mais les identifiants de connexion ne fonctionnent pas (natif de l'authentification ne fonctionne pas, et de mettre dans le nom d'utilisateur et le mot de passe manuellement ne fonctionne pas non plus). Aussi loin que je peux dire, la Loi sur la connexion complètement verrouillé sur la base de données, sauf via la connexion OLEDB. Je ne comprends pas, moi-même (SQL est SQL, non?) et je n'ai pas accès au serveur physique, mais tous les résultats de Google indiquent que c'est en effet la situation.
Vous devez vous connecter pour publier un commentaire.
Je sais que c'est vieux, mais pourrait aider quelqu'un sais comment je l'ai fait
J'ai décrit plus en détail comment le faire Ici.
Qui n'est pas votre problème. Le problème est la façon dont ils ont verrouillé le serveur. Fondamentalement, au démarrage, il semble que pour les connexions autres que ACTUSER et les supprime.
Vous pouvez le déverrouiller assez facilement même si, ensuite, vous serez en mesure de se connecter de la manière habituelle.
https://serverfault.com/questions/77712/sqlserver-need-to-access-an-act-database-for-data-migration
J'ai réussi à débloquer le mien mais j'ai oublié comment faire... je pense que je l'ai commencé en mode mono-utilisateur a ensuite fait des trucs drôles impliquant le décryptage d'une procédure stockée dans la base de données master et de l'éditer pour supprimer cette "fonctionnalité". Qui à son tour impliqué avec SQLTrace pour voir ce que les commandes de LOI a été l'envoi.
Je vous suggère de demander sur le Serveur Faute.
Java ne peut pas accéder OLEDB directement. Vous devez le faire dans un autre langage comme le C++ ou C#. Ensuite, vous pouvez accéder via JNI ou de processus externe. Si vous ne voulez pas écrire la partie native de la JNI auto alors vous pouvez utiliser JACOB comment vous le suggérer. Mais je pense qu'un processus externe prendre la demande semble être plus simple.
Ou de l'utilisation: http://uda.openlinksw.com/jdbc/mt/jdbc-sqlserver-mt/
Ils développent tous les types de conducteurs. J'ai utilisé cette compagnie...
Deux façons de résoudre ce problème.