Connexion à Oracle sans nom d'utilisateur ou mot de passe
Oracle a cette notion de base de données permettant d'identifier les utilisateurs par le système d'exploitation de l'utilisateur qui exécute le programme qui est de la connexion à Oracle. Voir ici.
Cela permet de faire, en tant que cet utilisateur sur une machine unix par exemple, une commande telle que:
sqlplus /
Je cherche à écrire un programme Java de Oracle 10.2 qui se connecte sans un nom d'utilisateur ou mot de passe. Le choix évident d'url:
jdbc:oracle:thin:/@localhost:1521:MYDBSID
ne fonctionne pas, donne une erreur (Désolé je n'ai pas l'erreur pour l'instant).
J'ai essayé de nombreuses autres formes de le faire ainsi, mais avec pas de chance.
Quelqu'un aurait-il des suggestions sur comment je peux connecter un programme Java d'Oracle à l'aide de l'OS méthode d'identification?
OriginalL'auteur Jamie Love | 2008-10-17
Vous devez vous connecter pour publier un commentaire.
JDBC Mince pilote est un 100% pur Java mise en œuvre qui ne peut pas rassembler les informations nécessaires à partir du système d'exploitation.
JDBC BEC pilote peut faire cela! Utilisation
jdbc:oracle:oci8:/@MYDBSID
, il faudra que le pilote Oracle être installé sur cette machine, pas un problème si c'est un serveur (et est plus rapide à démarrer et prend en charge beaucoup plus de fonctionnalités que la mince pilote)OriginalL'auteur Tony BenBrahim
Le pilote jdbc oracle navires n'ont PAS la capacité de collecte de l'OS nom d'utilisateur et le mot de passe à partir de l'URL que vous lui donnez. Supposons que, il y a de la 3e partie du pilote JDBC providers for ORACLE, l'un d'eux pourrait fournir la fonctionnalité que vous demandez. vous devriez autour de google.
OriginalL'auteur anjanb
Merci à ceux qui ont répondu. Nous sommes allés avec le BEC pilote.
Je n'ai trouver de la documentation pour suggérer que l'Oracle 11g ne prend en charge l'OS d'authentification de l'utilisateur via la mince driver:
http://www.orindasoft.com/public/Oracle_JDBC_JavaDoc/javadoc1110/oracle/jdbc/OracleConnection.html#CONNECTION_PROPERTY_THIN_VSESSION_OSUSER
Je n'ai pas de 11g de configuration de test, donc je ne peux pas être certain que cela fonctionne.
Le chauffeur de travail pour la chaîne de connexion /@TWO_TASK avec Oracle porte-monnaie ? Est-il un exemple de Java code de connexion?
OriginalL'auteur Jamie Love
Si vous avez accès à Oracle à partir d'un serveur d'applications J2EE, vous pourriez atteindre un but semblable en utilisant JNDI pour l'acquisition d'une source de données.
OriginalL'auteur tunaranch
La 11g mince conducteur peut se connecter en utilisant l'authentification Kerberos.
Voir Se connecter à une base de données Oracle à l'aide de Kerberos
OriginalL'auteur RealHowTo
essayer suivants
jdbc:oracle:thin:username/password@localhost:1521:MYDBSID
vous devez spécifier les informations de compte
sqlplus /as sysdba sur une machine unix qui passent par le système d'exploitation autentication
OriginalL'auteur Ricky
OS support de l'authentification dans le JDBC mince pilote a été ajouté dans 11g (vous pouvez télécharger le pilote JDBC mince pilote de 11.2.0.4 sur OTN).
Notez que vous devez avoir pour permettre l'authentification du système d'exploitation sur le serveur (TCP), sinon il ne fonctionne qu'avec sqlplus à l'aide de l'IPC ou BEQ localement. Dans votre init.ora fichier, ajouter ceci:
Et puis si vous avez d'utilisateur est "osuserdemo" sur la machine client, créer un utilisateur de base de données de ce genre et le redémarrage de la DB:
Et JDBC mince conducteur doit être en mesure de se connecter sans aucun nom d'utilisateur ou mot de passe.
Il est intéressant de noter que cette fonction - il est considéré comme hautement non garantis - de-a été pris en charge dans 12c.
OriginalL'auteur Jean de Lavarene
jdbc:oracle:oci:@
fonctionne avec ojdbc6.jar et Oracle 11g2OriginalL'auteur evgeny