Oracle-Verbindungszeichenfolge Mit Der Windows-Authentifizierung

Haben wir eine Anforderung, die unsere Produkte arbeiten unter Oracle sowie SQL-Server (um die Sie ursprünglich gebaut wurden). Leider haben wir keine im Haus Oracle-Entwicklung Erfahrung sprechen, aber als senior dev es gefallen hat mir das Projekt leiten. Bisher habe ich es geschafft, unsere app eine Verbindung zu einer Oracle-Datenbank (ich verwende Oracle XE 11.2), indem Sie die folgende Verbindungszeichenfolge:

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=VS010-ORA11GR1)(PORT=1523))(CONNECT_DATA=(SERVICE_NAME=DEVORA)));User Id=dbo;Password=dbo;

Der Grund, warum wir beschlossen, diese Art der Verbindung Zeichenfolge ist, weil wir nicht wollen, verlassen Sie sich auf wechselnde tnsnames.ora auf jeder client-Maschine. Jedoch, wie Sie sehen können, gibt eine Oracle-Benutzer und das zugehörige Kennwort ein. Wir müssen auch die Möglichkeit bieten, verwenden Sie das äquivalent von SQL Server mit integrierter Sicherheit.

Laut der Literatur, die ich gelesen habe, um dies zu tun brauche ich einfach, um anzugeben / als Benutzer-id und dann das Kennwort auslassen Anteil (wie dies wird ignoriert, jedenfalls für die Windows-Authentifizierung). Ich auch, erstellt der Anwender in Oracle, machen Sie sicher, dass es abgestimmt die Windows-Benutzer, mit dem folgenden Schnipsel:

CREATE USER "OPS$<DOMAIN>\<user>" IDENTIFIED EXTERNALLY;

GRANT CONNECT,RESOURCE TO "OPS$<DOMAIN>\<user>";

Ich habe auch überprüft, dass der SQL.ora-Datei auf meinem lokalen Rechner die hosts-XE-Instanz und meine dev-Umgebung enthielt die Zeile:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

Habe ich verstanden, dass dies ermöglichen würde, meine app eine Verbindung zu der Oracle-Datenbank-ierlichen Windows-Authentifizierung. Aber was tatsächlich passiert ist, dass ich die folgende Oracle-Fehlermeldung:

ORA-01005: null-Kennwort gegeben; Anmeldung verweigert

nicht viel Sinn, weil natürlich die null - es soll, laut den tutorials die ich gelesen habe.

Die app Ziele .Net Framework 3.5, sind wir mit dem System.Daten.OracleProvider und die tatsächliche Verbindung und so weiter werden von der Enterprise Library 5. Übrigens, ich bin mir bewusst, Streichung von der OracleClient-Komponente, aber ich will nur diese zu arbeiten, bevor ich in die zusätzliche Komplexität der Anbieterwechsel.

Kann mir jemand sagen was mir fehlt? Habe ich entschieden die falsche Art der connection-string? Ich entschuldige mich für irgendwelche grundlegenden Fehler, aber ich habe es immer geschafft zu vermeiden, Oracle, bis jetzt, so mein wissen über Sie ist nahe null.

Vielen Dank

Schreibe einen Kommentar