Oracle 9i C#连接报错:JDBC格式连接字符串无效排查
Oracle 9i C#连接字符串错误原因及解决方法
核心问题:你使用的是JDBC格式的连接字符串,但C#依赖的是Oracle .NET平台驱动(如ODP.NET),两种平台的连接字符串格式完全不兼容,这才导致"Connection string is not well-formed"错误。
正确的C#连接字符串格式
根据你使用的Oracle .NET驱动,选择对应格式:
1. ODP.NET(官方推荐驱动)
简化直连格式
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=89.1.11.105)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=SERVNAME)));User Id=USRNAME;Password=passwrd123;
(可选)使用TNS别名
如果配置了tnsnames.ora,可以直接用别名:
Data Source=SERVNAME;User Id=USRNAME;Password=passwrd123;
2. 旧版System.Data.OracleClient(已过时,不推荐)
格式与ODP.NET类似,但注意参数名细节:
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=89.1.11.105)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=SERVNAME)));User ID=USRNAME;Password=passwrd123;
额外注意事项
- 确保项目已引用对应版本的Oracle .NET驱动,且驱动版本兼容Oracle 9i(推荐ODP.NET 11g及更早版本,新版本可能不再支持9i)。
- 验证数据库服务器的IP、端口、服务名是否正确,网络是否能连通。
内容的提问来源于stack exchange,提问作者Serguei Michine
相关产品推荐
相关产品推荐

