Za pomocą Oracle SQL Developer mogę wstawić/-character do nazwy użytkownika i pozostawić puste hasło, aby uzyskać połączenie. Mam użytkownika OP $ MYWINDOWSUSERNAME utworzonego w bazie danych.Jak połączyć się z System.Data.OracleClient z Oracle oracle z uwierzytelnianiem Windows?
EDYCJA: SQL Developer nie działa, jeśli zaznaczam pole wyboru "Uwierzytelnianie systemu operacyjnego" (opróżnia i wyłącza nazwę użytkownika + pwd). Ponadto Preferencje-> Baza danych-> Zaawansowane-> Użyj klienta Oracle jest odznaczony, więc domyślam się, co SQL Developer ma lub nie ma bardzo niewiele wspólnego z moim problemem System.Data.OracleClient.OracleConnection.
Jednak gdy próbuję tworzyć ciąg połączenia tak:
string.Format("Data Source={0}; user id=/;password=;Integrated Security=yes", dbName);
uzyskać ORA-01017: nieprawidłową nazwę użytkownika/hasło: logowania zaprzeczył
z
string.Format("Data Source={0}; user id=/;password=;Integrated Security=no", dbName);
uzyskać ORA -01005.
Z
string.Format("Data Source={0};Integrated Security=yes", dbName);
uzyskać ORA-01017: nieprawidłową nazwę użytkownika/hasło: logowania zaprzeczył
Z
string.Format("Data Source={0}; user id=/;", dbName);
uzyskać ORA-01005
Z
string.Format("Data Source={0};User Id=/;Integrated Security=yes;", dbName);
uzyskać ORA-01017
Zarówno OracleConnection w moim programie i Oracle SQL Developer pracę kiedy podać nazwę użytkownika i hasło.
EDIT: To działa z
string.Format("Data Source={0};Integrated Security=yes", dbName);
gdy sqlnet.ora linia
SQLNET.AUTHENTICATION_SERVICES= (NTS)
zmienia się na
SQLNET.AUTHENTICATION_SERVICES= (NONE)
Jeśli ktoś pisze krótką odpowiedź, co się dzieje i dlaczego, "z przyjemnością udzielę mu/jej nagrody.
Po prostu usuń tokeny 'user id' &' password' –
, to nie działa. to była moja pierwsza iteracja. –
Ah podobno jego 'Data Source = myOracleDB; User Id = /;' - https://www.connectionstrings.com/net-framework-data-provider-for-oracle/windows-authentication/ –