We found that "Unicode=false" can connect without any issue from .NET connect to the database but “Unicode=True” does, however other databases connection string is "Unicode=True" can still connect to the database.
the error is “Internal .Net Framework Data Provider error 30”
=== Unicode Connection Failed (TRUE) ===
Data Source=bkicbsdb-scan.bki.co.th:1521/dbbkiins;Persist Security Info=True;Integrated Security=False;User ID=nuttawut;Password=***********;Unicode=true
=== Unicode Connection Succeeded (FALSE) ===
Data Source=bkicbsdb-scan.bki.co.th:1521/dbbkiins;Persist Security Info=True;Integrated Security=False;User ID=nuttawut;Password=***********;Unicode=false
=== This is other connection string that can connect to the database even the unicode is true ===
Data Source=bkisupdb-scan.bki.co.th:1521/DBBANCAS;Persist Security Info=True;User ID=nuttawut;Password=***********;Unicode=True
=========
Onpremise
=========
SQL> select * from nls_database_parameters where parameter like '%SET%';
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_CHARACTERSET TH8TISASCII
NLS_NCHAR_CHARACTERSET UTF8
=========
OCI ( Other Databases that can connect with “TRUE” has the same NLS_LANG
=========
SQL> select * from nls_database_parameters where parameter like '%SET%';
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_CHARACTERSET TH8TISASCII
NLS_NCHAR_CHARACTERSET UTF8