首页新闻找找看学习计划

VS2015连接oracle11g出现异常

0
悬赏园豆:30 [待解决问题]

vs2015,安装的是Oracle Developer Tools for VS2015,

命名空间是using Oracle.ManagedDataAccess.Client;

连接字符串是:"Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.83.195:8094)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl)));User ID=******;Password=*****";

报错:

引发的异常:“Oracle.ManagedDataAccess.Client.OracleException”(位于 Oracle.ManagedDataAccess.dll 中) Oracle 通信: 无法连接到服务器, 或者无法对连接字符串进行语法分析

 

我们用的是远程连接学校的虚拟机,10.5.83.195:8094是服务器地址,1521是默认端口。

自己电脑上没装oracle。

初学者,真的好辛苦,求大神随手指导。

时光醉流年的主页 时光醉流年 | 初学一级 | 园豆:166
提问于:2016-07-11 19:46
< >
分享
所有回答(4)
0

10.5.83.195:8094这还带端口是什么意思,去掉8094试试

MrNice | 园豆:3010 (老鸟四级) | 2016-07-11 20:39

去掉8094,报异常,没有监听程序。。。。。

这是虚拟机上的:

哪里出现了问题呢?

支持(0) 反对(0) 时光醉流年 | 园豆:166 (初学一级) | 2016-07-12 08:26
0

重新检查一遍链接配置,ping一下ip

嘿嘿我是小白 | 园豆:69 (初学一级) | 2016-07-11 20:47

ping ip 没问题。。。。。下来呢

支持(0) 反对(0) 时光醉流年 | 园豆:166 (初学一级) | 2016-07-12 08:27
0

本机要装Oracle 客户端才能连接上

弦断有谁听 | 园豆:20 (初学一级) | 2016-07-12 08:37

不是吧。。。不能连接虚拟机中的么??

支持(0) 反对(0) 时光醉流年 | 园豆:166 (初学一级) | 2016-07-12 12:06

@时光醉流年: 首先虚拟机要能ping通,服务器不装Oracle客户端是连不上的。你服务器上有没有plsql或者其他的工具,连接一下看看,

支持(0) 反对(0) 弦断有谁听 | 园豆:20 (初学一级) | 2016-07-13 09:03

@时光醉流年: 说错了,应该是你本机要装Oracle客户端。Oracle Developer Tools for VS2015我没用过,反正2013之前都是要装的。

支持(0) 反对(0) 弦断有谁听 | 园豆:20 (初学一级) | 2016-07-13 09:24
0

10.5.83.195:8094)(PORT = 1521)))

 

这里应该是10.5.83.195)(PORT = 8094)))

c99 | 园豆:1838 (小虾三级) | 2016-07-12 11:06

不行。。。

改成10.5.83.195)(PORT = 1521))),还好点,引发这个异常:

引发的异常:“Oracle.ManagedDataAccess.Client.OracleException”(位于 Oracle.ManagedDataAccess.dll 中)
ORA-12541: TNS: 无监听程序

支持(0) 反对(0) 时光醉流年 | 园豆:166 (初学一级) | 2016-07-12 12:08

@时光醉流年: 哦哦。你的listener.ora里面,把localhost改成IP地址,再重启Listener服务和db服务。

支持(0) 反对(0) c99 | 园豆:1838 (小虾三级) | 2016-07-12 12:44

@c99: 还是不行。。。

下面是相关的配置文件:
自己本机上的Oracle Developer Tools for VS2015中的tnsnames.ora:
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.83.195)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
虚拟机上的:
F:\App\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN:
listener.ora:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\App\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:F:\App\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.83.195)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = F:\App\Administrator


tnsnames.ora:
SIGSIT =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = Sigsit.oracle)
    )
  )
LISTENER_SIGSIT =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )
LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


到底是哪里出问题了呢??
(本机IP:10.5.114.184     虚拟机IP:10.5.83.195)

支持(0) 反对(0) 时光醉流年 | 园豆:166 (初学一级) | 2016-07-12 13:49

@时光醉流年: 

把服务器上的tnsnames.ora里面的localhost也改成IP试试。

另外,你的数据库服务器端口就是1521,不是8094.你安装的时候应该是选了desktop,所以它默认绑定的ip地址就是localhost,你需要把两个服务(Listener和dbservice)停掉,然后将服务器上的tnsnames.ora/listener.ora的localhost都改成ip地址,然后重启两个服务。

支持(0) 反对(0) c99 | 园豆:1838 (小虾三级) | 2016-07-12 16:32

@c99: 还是一样。。。。

我在服务器上cmd中:tnsping orcl

我这个tnsnames.ora中的改成IP后,出来没有监听程序的异常,listener.ora没有这个。

问题是不是出在这里?

支持(0) 反对(0) 时光醉流年 | 园豆:166 (初学一级) | 2016-07-12 17:26

@时光醉流年:

你看看那个netca,能不能重新配置一下。

 

实在不行,你可以在命令行窗口执行Deinstall\Deinstall.bat,一直默认按回车,知道最后问你是不是要卸载的时候输入Y,卸载掉这个desktop版本的oracle。

 

卸载掉后,把所有cmd窗口关掉,再重新安装oracle,记得选server,然后默认一路next。

支持(0) 反对(0) c99 | 园豆:1838 (小虾三级) | 2016-07-12 19:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册