我的版本是9.1.131.0。
我想连接到Oracle 12db与服务名称。我有登录,pw,服务器,但似乎我不能添加服务名称或端口到OracleConnectionStringBuilder
。
我如何连接到我的数据库与服务名称?
我可以用Oracle.ManagedDataAccess
实现,但由于性能问题,我想测试Devart Driver是否工作得更好。
亲切的问候
尝试SID
代替Service Name
。我找到了这个:使用直接模式
SID**系统标识符(全局数据库名称)
**服务名称连接字符串参数可以用来代替SID,但在直接模式下你只能连接到一个数据库实例(RAC不支持)。
var str = new DbConnectionStringBuilder(false);
str.Add("Data Source", db);
str.Add("User ID", user);
str.Add("Password", pw);
var con = new Devart.Data.Oracle.OracleConnection(str.ConnectionString);
con.Open();
您也可以将完整的连接字符串作为数据源,而不是从tnsnames.ora
文件中检索别名,例如
string db = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={host})(PORT=1521))(CONNECT_DATA=(SERVICE_NAME={serviceName})))";
str.Add("Data Source", db);
这就是我的结论:
因为我不希望我的用户安装Oracle客户端或安装包超过10 MB, Devart dotConnect Express for Oracle将无法工作。
引用自异常:
"快速版不支持直接模式。不要使用连接字符串的直接参数。请参考Oracle版本矩阵的dotConnect。"
谢谢你的帮助。
亲切的问候