C# 不使用tns和操作系统身份验证连接到oracle数据库

C# 不使用tns和操作系统身份验证连接到oracle数据库,c#,.net,oracle,C#,.net,Oracle,当前,我正在使用以下连接字符串连接到oracle数据库 string Source = new OracleConnectionStringBuilder() { DataSource = @"(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = YOURHOST)(PORT = 1521)))(CONNECT_DATA =(SID = TESTORACLE)))", }.Connecti

当前,我正在使用以下连接字符串连接到oracle数据库

string Source = new OracleConnectionStringBuilder()
    {
        DataSource = @"(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = YOURHOST)(PORT = 1521)))(CONNECT_DATA =(SID  = TESTORACLE)))",
    }.ConnectionString;
private IDbConnection databasecon= new OracleConnection(Source);

我不知道如何指定使用os身份验证的连接最终找到了创建非TNS windows身份验证连接stringstring Source=new OracleConnectionStringBuilder的方法 { DataSource=@DESCRIPTION=ADDRESS\u LIST=ADDRESS=PROTOCOL=TCPHOST=YOURHOSTPORT=1521CONNECT\u DATA=SID=TESTORACLE, UserID=@/, }.连接字符串; 私有IDbConnection databasecon=新的OracleConnectionSource


如果没有用户id和密码,只需使用UserID=@/for windows身份验证

是否有帮助?您仍然需要TNS names文件,但您可以安装.NET oracle dataclient并创建与sql server类似的连接字符串。请勿使用64位.net oracle数据客户端。。不起作用。。此外,如果您使用32位客户端,则必须将项目设置为针对x86和AnyCPU进行编译,我目前使用的是Oracle项目。您需要转到Oracle官方网站进行注册,然后下载正确的OracleDataClient@MethodMan,您的评论与问题无关。当然可以使用64位驱动程序-您只需安装64位客户端并为x64或任何CPU编译即可。当您输入完整连接名而不是别名时,不需要tnsnames.ora文件。@WernfriedDomscheit for Oracle Data Client 64位版本存在已知问题。。请仔细阅读。@MethodMan,您有任何关于这些问题的参考资料吗?我不知道有什么。