2

我在.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:listener 未在 CONNECT_DATA 中指定 SERVICE_NAME

为此我该怎么办...

我的 tnsnames.ora 是,

PROD =  (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = Prod)
)

)

4

2 回答 2

0

我记得当我们想为 Oracle 连接指定连接字符串时,应该提供服务名称,其余信息将从该服务名称加载。正如Romil在评论中所说,您必须在tnsnames.ora中创建一个服务名称。有一个用于创建服务名称的 GUI 工具。服务名称在概念上是一个连接说明符,连接所需的一切都将在其中提供。使用此获取更多信息: Oracle 网络连接快速入门

于 2012-06-04T14:52:17.237 回答
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”文件。

于 2012-06-04T15:01:06.350 回答