我正在尝试使用Visual Studio 2010中的服务器资源管理器连接我的本地Oracle 11g数据库。我尝试按照说明设置所有内容,但我仍然收到ORA-12504错误。
这是错误:
这是我的tnsnames.ora内容:
# tnsnames.ora Network Configuration File: C:\app\rsahi\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
VENUS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SPRPRG020)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = VENUS)
)
)
LISTENER_VENUS =
(ADDRESS = (PROTOCOL = TCP)(HOST = SPRPRG020)(PORT = 1521))
listener.ora文件内容,
# listener.ora Network Configuration File: C:\app\rsahi\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = SPRPRG020)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\rsahi
答案 0 :(得分:18)
在Visual Studio的“服务器资源管理器数据连接”面板中尝试此操作:
Data source name: SPRPRG020/VENUS
即。数据源名称格式为SERVER_NAME_OR_IP / DATABASE_NAME
答案 1 :(得分:1)
在没有太多关于将ODP.NET与Oracle DB连接的知识的情况下,我建议您在连接参数中开始使用SERVICE_NAME(例如:VENUS)。
Oracle表示:
从11g开始,使用/ etc / hosts文件中提供的主机名作为别名/服务名称的功能已更改。因此,用户必须在连接时提供服务名称,或者使用默认服务名称配置目标侦听器。
绕过SERVICE_NAME客户端要求的一种方法是强制监听器始终通过告诉它在tnsnames.ora
中向您发送相同的服务DEFAULT_SERVICE_LISTENER = VENUS
但我不建议你这样做,因为它是非常有限的。
答案 2 :(得分:0)
当我尝试使用Oracle 11g创建LinkedServer时遇到了同样的问题。我的oracle实例名称是: PC-2.my.xgen ,我的听众名称是“ NB ”。第一个语句的最后一个参数实际上是Oracle服务器实例和侦听器名称的串联。
所以我在SQL server中写下了以下语句。
--add a linked server into SQL server
--last parameter contains OracleInstance / Listener Name of desired database
EXEC sp_addlinkedserver 'OracleLinkedServer4', 'Oracle', 'MSDAORA', 'PC-2.my.xgen/nb'
--add login information into linked server
EXEC sp_addlinkedsrvlogin 'OracleLinkedServer4', false, Null, 'system', '123456'
在Oracle数据库“NB”中,我有一个名为CRD_CIL_NOTIFICATION_TYPE的表。所以我写下了以下声明来获取记录。
select * from OracleLinkedServer4..SYSTEM.CRD_CIL_NOTIFICATION_TYPE
答案 3 :(得分:0)
在"连接属性" - > "高级"设置在"数据源"以HOST / SERVICE_NAME格式输入信息。例如。 127.0.0.1/TEST
答案 4 :(得分:0)
在“连接属性”->“高级”中,在“数据源”字段中设置格式为HOST:PORT / SERVICE_NAME的信息。例如。 10.xxx.xxx.xxx:1521/SIDNAME