更新到数据库时出错:甲骨文
本文关键字:甲骨文 出错 数据库 更新 | 更新日期: 2023-09-27 18:36:16
我在.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)
)
)
我记得当我们要为 Oracle 连接指定连接字符串时,应该提供服务名称,其余信息将从该服务名称加载。正如Romil在评论中所说,您必须在tnsnames.ora中创建一个服务名称。有一个用于创建服务名称的 GUI 工具。从概念上讲,服务名称是一个连接说明符,其中将提供连接所需的所有内容。使用这个获取更多信息:Oracle 网络连接快速入门
举个例子,这是我在 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"文件。