我在.Net Windows应用程序中工作。在App.Config中,我给出了像这样的连接字符串......
<add connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.101)(PORT=1521)))(CONNECT_DATA=(SID=PROD)(SERVER=DEDICATED)));User Id=TEST;Password=TEST;" providerName="System.Data.OracleClient" name="ConnectionString" />
我正在进行更新。断点到达更新方法后,我收到这样的消息..
ORA-12504:TNS:听众没有获得CONNECT_DATA中的SERVICE_NAME
我该怎么做......
我的tnsnames.ora是,
PROD = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = Prod)
)
)
答案 0 :(得分:0)
我记得当我们想要为Oracle连接指定连接字符串时,应该提供服务名称,并从该服务名称加载其余信息。正如Romil在评论中所说,你必须在tnsnames.ora中创建一个服务名称。有一个用于创建服务名称的GUI工具。服务名称是概念上的连接说明符,将在其中提供连接所需的所有内容。 使用它来获取更多信息: Quick Start to Oracle Net Connections
答案 1 :(得分:0)
举个例子,这是我在ASP.NET 4.0应用程序中使用的连接字符串,用于通过ODP.NET提供者/驱动程序连接到Oracle数据库:
<add
name="oraOdpNet"
connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.101)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE))); User Id=TEST; Password=TEST"
providerName="system.data.oracleclient" />
我想绝对不依赖外部“tnsnames.ora”文件。