当前位置: 代码迷 >> Oracle管理 >> C#连接oracle,ORA-12154: TNS: 无法解析指定的连接标识符解决办法
  详细解决方案

C#连接oracle,ORA-12154: TNS: 无法解析指定的连接标识符解决办法

热度:427   发布时间:2016-04-24 04:15:00.0
C#连接oracle,ORA-12154: TNS: 无法解析指定的连接标识符




tnsping效果:


用SQL Plus和PL/SQL Developer能连接上
我的tnsnames.ora位置好像不对啊!D:\Oracle\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下面只有:


tnsnames.ora在sample里面:


tnsnames.ora里没有我的数据库sid。 
tnsnames.ora文件内容:
<alias>= [ (DESCRIPTION_LIST =  # Optional depending on whether u have 
# one or more descriptions
# If there is just one description, unnecessary ]
  (DESCRIPTION=
    [ (SDU=2048) ] # Optional, defaults to 2048
# Can take values between 512 and 32K
    [ (ADDRESS_LIST=    # Optional depending on whether u have
# one or more addresses
# If there is just one address, unnecessary ]
      (ADDRESS=
[ (COMMUNITY=<community_name>) ] 
(PROTOCOL=tcp)
(HOST=<hostname>)
(PORT=<portnumber (1521 is a standard port used)>)
      )
      [ (ADDRESS=
  (PROTOCOL=ipc)
  (KEY=<ipckey (PNPKEY is a standard key used)>)
)
      ]
      [ (ADDRESS=
  [ (COMMUNITY=<community_name>) ]
  (PROTOCOL=decnet)
  (NODE=<nodename>)
  (OBJECT=<objectname>)
)
      ]
              ... # More addresses
    [ ) ] # Optional depending on whether ADDRESS_LIST is used or not 
    [ (CONNECT_DATA=
(SID=<oracle_sid>)
[ (GLOBAL_NAME=<global_database_name>) ]
      )
    ]
    [ (SOURCE_ROUTE=yes) ]  
  )
  (DESCRIPTION=     
    [ (SDU=2048) ] # Optional, defaults to 2048
# Can take values between 512 and 32K
    [ (ADDRESS_LIST= ] # Optional depending on whether u have more
# than one address or not
# If there is just one address, unnecessary
      (ADDRESS
[ (COMMUNITY=<community_name>) ]
(PROTOCOL=tcp)
(HOST=<hostname>)
(PORT=<portnumber (1521 is a standard port used)>)
      )
      [ (ADDRESS=
  (PROTOCOL=ipc)
  (KEY=<ipckey (PNPKEY is a standard key used)>)
         )
      ]
      ...  # More addresses
    [ ) ]  # Optional depending on whether ADDRESS_LIST  
# is being used
    [ (CONNECT_DATA=
(SID=<oracle_sid>)
[ (GLOBAL_NAME=<global_database_name>) ]
      )
    ]
    [ (SOURCE_ROUTE=yes) ]
  )
  [ (CONNECT_DATA=
      (SID=<oracle_sid>)
      [ (GLOBAL_NAME=<global_database_name>) ]
    )
  ]
  ...   # More descriptions 
[ ) ] # Optional depending on whether DESCRIPTION_LIST is used or not

这要怎么办 ?
------解决方案--------------------
引用:
这要怎么办 ?

应该是你c#那边有问题,这个只是一个sample文件,没问题。

------解决方案--------------------
连接串写得有问题
"password=你的密码;user id=你的帐号;data source= " & Chr(34) & "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=你服务器的ip地址)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=你数据库的oracle服务名)))" & Chr(34) & ";"

  相关解决方案