如题,服务器部署在内网 IP 10.2.0.18 , 在服务器上通过这个 IP 可以正常访问 oracle 服务。
现在换了一台另一台 windows10 机器,按网上教学操作了一下,无法连接,有没有大佬指导一下原因。
我做了如下操作:
1 、安装 windows10 20H2 企业版系统
2 、安装 microsoft vc++ 2015-2019 restribuiltable
3 、从 oracle 官网下载 instant client 19.0 for windows
4 、解压后环境变量中配置 OCI_LIB64
5 、解压目录中配置 tnsnames.ora
6 、使用 sqlplus
得到错误
ORA-12560: TNS: 协议适配器错误
使用 navicat 连接的话则会闪退。
1
nuandong 2021-01-23 19:16:33 +08:00 via iPhone
plsql 也不能用吗
|
2
dxySheldon 2021-01-23 19:55:05 +08:00 via Android
oracle sql developer 试试
|
3
liprais 2021-01-23 19:56:39 +08:00
jdbc odbc 都行
找个 jdbc 的客户端就行 |
4
hoyixi 2021-01-23 19:59:23 +08:00
允许远程访问了吗
|
5
geekboy 2021-01-23 20:00:16 +08:00
navicat 就行
|
6
LeeReamond OP @hoyixi 在服务器上是通过局域网 ip 访问的,应该就是能远程访问吧,要不然会被拒绝吧。我也是刚用 oracle,不太懂。19c 默认典型安装,服务器类,我感觉应该不是服务器方面的问题
|
7
LeeReamond OP @geekboy navicat 连 mysql 没问题,连 oracle 闪退。server 上的 navicat 连接则没问题,我推测还是客户端配置不正确
|
8
LeeReamond OP @liprais
@dxySheldon @nuandong 这些都是要换客户端软件的吧,我要实现的是用 python 连接,所以最好是配置好客户端,所有服务都能正常访问,比如 sqlplus 和 navicat 和 python 都能连,所以只有单一软件能连上没什么意义啊 |
9
liprais 2021-01-23 20:13:05 +08:00
@LeeReamond
pyodbc |
10
LeeReamond OP @liprais
我之前试过用 pyodbc 连接,没成功,不太懂 odbc 是个什么概念,倒是 cx_Oracle 无痛连上了。但是 cx_Oracle 是依赖 oracle 原生客户端服务的 |
11
LeeReamond OP @LeeReamond 毕竟之前用 mysql 和 redis 之类的数据库也没听说过还需要装个专门的客户端才能驱动程序
|
12
qq515391365 2021-01-23 20:28:29 +08:00
Navicat 连接 oracle 要去官网下载对应版本的 dll 文件.
|
13
LeeReamond OP @qq515391365 官网是指 navicat 官网还是 oracle 官网?那台服务器上的 navicat 倒是什么都不用额外装就能连
|
14
wuwukai007 2021-01-24 00:35:28 +08:00 via Android
oracle 不都用的 plsql 吗
|
15
hcymk2 2021-01-24 01:09:04 +08:00
dbeaver 或者是其他通过 jdbc 形式访问的 GUI 工具。
|
16
EscYezi 2021-01-24 03:09:41 +08:00 via iPhone
navicat 要在 oracle 官网下对应版本的 instant-client,覆盖掉 navicat 自带的
|
17
idblife 2021-01-24 09:21:41 +08:00 via iPhone
jdbc 客户端,推荐 datagrip
|
18
binbinbbb 2021-01-24 14:17:34 +08:00 via iPhone
datagrip
|
19
leon0903 2021-01-24 15:18:12 +08:00
三个月前刚接触 oracle 的来说下吧 。 主要分两种。 一种方式是用 楼上说的 oracle sql developer, 这个是 oracle 官方的免费工具,基于 jdbc 的,不需要额外下载或者配置其他东西,下载解压 然后填写数据库信息连接就 ok 了。 一种用 pl sql(navicat)那种,那种如果你本机没有安装 oracle 的话, 需要你去额外下载 oracle 客户端依赖包,主要是 oci.dll ,然后还要配置 tnsnames 文件,并且放到指定路径或者环境变量里,一切 ok 之后 才可以用客户端连上。
|
20
leon0903 2021-01-24 15:18:40 +08:00
navicat 闪退 可能是 oci 版本不对
|
21
LeeReamond OP @leon0903 我后来按楼上说的,进入 navicat 设置里面,把默认那个 oci.dll 换成新下载的,就能用了,不过我配置的 tnsnames 没有发挥作用,后面又在不同机器上架了几个,没改 tns 都能连上,不知道为什么
|