visual studio 2008中连接oracle数据库的问题 是否要添加oracle数据源?添加的时候服务请名该怎么填?

2024-12-12 12:15:31
推荐回答(2个)
回答1:

config文件中,加入

Data Source必须是sid,如果要用IP需要进行其它配置,网上有其它文章介绍,我没有用,用的是本地安装oracle客户端的方法解决的。

C# winform oracle连接数据库类 和app.config 简单配置,11g环境的,
http://blog.csdn.net/WYZSC/archive/2011/01/11/6129417.aspx

http://zhidao.baidu.com/question/66764504.html
ora-12154 TNS:无法处理服务名
有时候怎么配置TNSNAMES.ORA都出现ora-12154 TNS:无法处理服务名的错误!其实根据oracle的版本的不同,配置的字符串也有所不同。比如:oracle8.1.5的SQLNET.ORA文件的内容是这样的:路径:orant\NET80\ADMIN\SQLNET.ORATRACE_LEVEL_CLIENT = OFF
#sqlnet.authentication_services = (NONE)
names.directory_path = (TNSNAMES, HOSTNAME)
names.default_domain = world
name.default_zone = world
automatic_ipc = off所以服务名后面都要加上.world,比如:CARD.WORLD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
(CONNECT_DATA = (SID = CARD))
)
但是在oracle9i下则要这样配置:CARD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CARD)
)
)oracle9i的SQLNET.ORA是这样的:路径:oracle\ora92\network\admin\SQLNET.ORA# SQLNET.ORA Network Configuration File: C:\oracle\ora92\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)所以如果按照oarcle8.1.5的配置参考oracle9i的配置,显然是不对的。因为oracle8.1.5中的SQLNET.ORA文件定义了服务名必须要有.world根据oracle版本, SID 可能是要改成service_name。 参考一下listener.ora的global_name.确定在sqlnet.ora里,names.default_domain设置空字符。排除了这些应该没什么问题了。

回答2:

代码里 HOST后边应该是你的 IP地址
PORT后边默认端口是1521 ,你在net Configuration Assiatant里改过是吧
SERVICE_NAME 是计算机名称
你这个数据源 要看是连接的谁了
如果连接自己机器的数据源那就 服务器名称要么你自己IP要么local
如果是服务器的数据源的话 就 填写服务器的IP就行