LeeReamond
V2EX  ›  问与答

没有安装 Oracle 的电脑,应该如何连接到 oracle 数据库?

  •  
  •   LeeReamond · Jan 23, 2021 · 3659 views
    This topic created in 2114 days ago, the information mentioned may be changed or developed.

    如题,服务器部署在内网 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 连接的话则会闪退。

    21 replies  •  2021-01-24 15:53:04 +08:00
    nuandong
    nuandong
    Jan 23, 2021 via iPhone
    1
    plsql 也不能用吗
    dxySheldon
    dxySheldon
    Jan 23, 2021 via Android
    2
    oracle sql developer 试试
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Jan 23, 2021
    3
    jdbc odbc 都行
    找个 jdbc 的客户端就行
    hoyixi
    hoyixi
    Jan 23, 2021
    4
    允许远程访问了吗
    geekboy
    geekboy
    Jan 23, 2021
    5
    navicat 就行
    LeeReamond
    LeeReamond
    OP
    Jan 23, 2021 via Android
    6
    @hoyixi 在服务器上是通过局域网 ip 访问的,应该就是能远程访问吧,要不然会被拒绝吧。我也是刚用 oracle,不太懂。19c 默认典型安装,服务器类,我感觉应该不是服务器方面的问题
    LeeReamond
    LeeReamond
    OP
    Jan 23, 2021
    7
    @geekboy navicat 连 mysql 没问题,连 oracle 闪退。server 上的 navicat 连接则没问题,我推测还是客户端配置不正确
    LeeReamond
    LeeReamond
    OP
    Jan 23, 2021
    8
    @liprais
    @dxySheldon
    @nuandong 这些都是要换客户端软件的吧,我要实现的是用 python 连接,所以最好是配置好客户端,所有服务都能正常访问,比如 sqlplus 和 navicat 和 python 都能连,所以只有单一软件能连上没什么意义啊
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Jan 23, 2021
    9
    @LeeReamond
    pyodbc
    LeeReamond
    LeeReamond
    OP
    Jan 23, 2021
    10
    @liprais
    我之前试过用 pyodbc 连接,没成功,不太懂 odbc 是个什么概念,倒是 cx_Oracle 无痛连上了。但是 cx_Oracle 是依赖 oracle 原生客户端服务的
    LeeReamond
    LeeReamond
    OP
    Jan 23, 2021
    11
    @LeeReamond 毕竟之前用 mysql 和 redis 之类的数据库也没听说过还需要装个专门的客户端才能驱动程序
    qq515391365
    qq515391365
    Jan 23, 2021
    12
    Navicat 连接 oracle 要去官网下载对应版本的 dll 文件.
    LeeReamond
    LeeReamond
    OP
    Jan 23, 2021 via Android
    13
    @qq515391365 官网是指 navicat 官网还是 oracle 官网?那台服务器上的 navicat 倒是什么都不用额外装就能连
    wuwukai007
    wuwukai007
    Jan 24, 2021 via Android
    14
    oracle 不都用的 plsql 吗
    hcymk2
    hcymk2
    Jan 24, 2021
    15
    dbeaver 或者是其他通过 jdbc 形式访问的 GUI 工具。
    EscYezi
    EscYezi
    Jan 24, 2021 via iPhone
    16
    navicat 要在 oracle 官网下对应版本的 instant-client,覆盖掉 navicat 自带的
    idblife
    idblife
    Jan 24, 2021 via iPhone
    17
    jdbc 客户端,推荐 datagrip
    binbinbbb
    binbinbbb
    Jan 24, 2021 via iPhone
    18
    datagrip
    leon0903
    leon0903
    Jan 24, 2021
    19
    三个月前刚接触 oracle 的来说下吧 。 主要分两种。 一种方式是用 楼上说的 oracle sql developer, 这个是 oracle 官方的免费工具,基于 jdbc 的,不需要额外下载或者配置其他东西,下载解压 然后填写数据库信息连接就 ok 了。 一种用 pl sql(navicat)那种,那种如果你本机没有安装 oracle 的话, 需要你去额外下载 oracle 客户端依赖包,主要是 oci.dll ,然后还要配置 tnsnames 文件,并且放到指定路径或者环境变量里,一切 ok 之后 才可以用客户端连上。
    leon0903
    leon0903
    Jan 24, 2021
    20
    navicat 闪退 可能是 oci 版本不对
    LeeReamond
    LeeReamond
    OP
    Jan 24, 2021 via Android
    21
    @leon0903 我后来按楼上说的,进入 navicat 设置里面,把默认那个 oci.dll 换成新下载的,就能用了,不过我配置的 tnsnames 没有发挥作用,后面又在不同机器上架了几个,没改 tns 都能连上,不知道为什么
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1471 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 16:05 · PVG 00:05 · LAX 08:05 · JFK 11:05
    ♥ Do have faith in what you're doing.