请问谁怎么怎么配置ASP.NET 中web.config 连接ORACLE数据库啊。 我是这样写的:
  <add name="ConnectionString" connectionString="Data Source=DummyDatabase ;user id=用户名;password=密码;" providerName="System.Data.OracleClient"/> tnsnames.ora文件如下: DummyDatabase =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = eb)
    )
  )可就是报那个错误:ORA-12154: TNS: 无法处理服务名
求高人帖个配置代码 最好能用的哦。TK

解决方案 »

  1.   


    Oracle专用接口(oracle自身提供):
    方法(1):<appSettings>
        <add key="ORACLEConnectionString" value="Provider=OraOLEDB.Oracle.1;
    Persist Security Info=False;Password=blah;User ID=greg;Data Source=sph;" /> 
    <appSettings>Oracle通用接口:
    方法(2):
    <appSettings>
        <add key="ORACLEConnectionString" value="Provider=MSDAORA;Password=tiger;User ID=scott; Data Source=sph;Persist Security Info=False;Integrated Security=yes" /> 
    <appSettings>
    OracleClient:
    <appSettings> 
        <add key="ConnectionString" value="Data Source=testDB;User ID=scott;Password=tiger;" /> </appSettings>
      

  2.   

    你的server呢?你是指什么呢。我的服务器是远程的。通过IP访问ORACLE数据库,我在PLSQL Developer中可以正常登录啊,但是用程序就报错 了。晕啊
      

  3.   

    http://www.connectionstrings.com
      

  4.   

     <add name="ConnectionString" connectionString="Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dsfa)));User Id=用户名;Password=密码;" providerName="System.Data.OracleClient"/>
      </connectionStrings>我这样写可以连接成功,但是为何改成:
     <add name="ConnectionString" connectionString="Data Source=DummyDatabase ;user id=用户名;password=密码;" providerName="System.Data.OracleClient"/> tnsnames.ora文件如下: DummyDatabase =
      (DESCRIPTION =
      (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
      )
      (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = eb)
      )
      )就是连接不成功呢?晕倒
      

  5.   

    你引用的是哪个dll?vs自带的oracledataclient还是oracle里边的 oracle.dataaccess.dll?
      

  6.   

    如果是oracle.dataaccess.dll就是user id
    要是vs自带的,得用user,不能用user id
      

  7.   

    哦,刚看到,用的是OracleClient
    你把user id改成 user 试试
      

  8.   


    按照你的方法改了还是不行哎。
      <add name="ConnectionString" connectionString="Data Source=DummyDatabase;User=用户;Password=密码;" providerName="System.Data.OracleClient"/>
      </connectionStrings>  
      

  9.   

    那就是你的datasource有问题了,你plsql能连接上,plsql里边的datasource是什么?
    是DummyDatabase吗?还是 eb?
    你tnsnames里边的service name 和库名不一致,可以考虑换eb试试,或者重新建个监听,用一致的名字。
      

  10.   

      <connectionStrings>
        <add name="DBConnection" connectionString="Data Source=orcl;Persist Security Info=True;User ID=admin;Password=admin"/> ---连接oracle数据库    <add name="DBConnection1" connectionString="Data Source=.;Initial Catalog=hisdata_test;User ID=sa;Password=123456"/>---连接sql Server数据库
      </connectionStrings>
      

  11.   

    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设置空字符。排除了这些应该没什么问题了。
      

  12.   

    <add key="SecurityManagementSystemConnectionString" value="Data Source=LTDB188;User ID=SHARE_DB_B; Password=SHALE2009;Max Pool Size=100"/>