昨天,领导安排去新服务器上部署项目,给了我数据库地址,服务名称,端口,用户名和密码。结果数据库一直连接不上,日志中的错误提示是监听未找到SID,我才明白原来我jdbc.properties中需要的是SID,但我把服务名当作SID给配进去了,但是数据库管理员只给我了服务名,但没给我SID,当时搜了各种解决方案,网上说Oracle JDBC连接一共有三种方式,分别是:服务名、SID、TNSName的方式,但试过当时都没连上(后来发现是我写得格式不正确),最终只好联系数据库管理员要SID,才把项目部署完。
今天回到公司,就像继续验证一下这些配置方式,结果发现都成功了,在此分享一下我的配置过程,例如数据库服务名net_grid,SID是netgrid
一、通过plsql链接数据库,配置的时候分别使用SERVICE_NAME和SID,都可以链接成功
二、jdbc配置,以下三中方式都可以成功连接数据库
1.使用service_name,配置方式:jdbc:oracle:thin:@//<host>:1521/net_grid
2.使用SID,配置方式:jdbc:oracle:thin:@//<host>:1521/netgrid
3.使用SID,配置方式:jdbc:oracle:thin:@<host>:1521:netgrid
比较:1和2中当@后边有双斜杠,端口号后边有单斜杠时,用服务名和实例名都可以链接成功,3中@后边没有双斜杠,端口号后边是冒号而不是斜杠的时候只能用实例名,当时笔者配置错误的时候是 jdbc:oracle:thin:@//<host>:1521:netgrid ,端口号后直接用了冒号。
---------------------
作者:yc123185389
来源:CSDN
原文:https://blog.csdn.net/yc123185389/article/details/72731438
版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
在测试JDBC连接时,需要确保Oracle监听器(Listener)和相关配置文件(如listener.ora和tnsnames.ora)设置正确。例如: 在`listener.ora`中,配置如下: ```text SID_LIST_LISTENER = (SID_LIST = (SID_DESC =...
2. **TNS设置**:检查`tnsnames.ora`文件,确保数据库服务名(Service Name)和连接字符串正确无误,同时确认TNS监听器配置正确。 3. **验证协议**:Oracle 12c可能要求更高级的认证方式,如AES256加密。检查数据库...
2. **配置TNSNames.ora**:TNSNames.ora文件是Oracle网络配置的关键,其中定义了数据库的网络服务名。在这个文件中,你需要添加或编辑一个条目,包含数据库的主机名(IP地址)、端口号和服务名。 ```text ...
tnsnames.ora是Oracle网络配置文件,其中包含了数据库服务名的定义,例如主机名、端口号和SID(System Identifier)。在tnsnames.ora中正确配置目标数据库的连接信息,是成功连接的关键步骤。 5. **PL/SQL ...
3. 在TNSNAMES.ORA文件中配置远程数据库的连接信息,包括服务名、主机地址、端口和SID。 4. 在PL/SQL Developer中设置连接属性,如用户名、密码、连接字符串(基于TNSNAMES.ORA中定义的别名)。 5. 现在你可以使用PL...
3. **配置tnsnames.ora**: 根据实际的数据库连接信息编辑tnsnames.ora文件,定义服务名。 4. **测试连接**: 使用SQL*Plus或其他应用程序测试到Oracle数据库的连接。 Oracle Instant Client 12c对于开发人员来说,...
- **Net Services**:负责配置和管理数据库连接,通过tnsnames.ora文件定义数据库服务名和连接参数。 - **OCI(Oracle Call Interface)**:允许开发者用C或C++编写应用程序,直接与Oracle数据库交互。 - **JDBC...
3. **tnsnames.ora**:此文件存储客户端到服务器的连接服务信息,包括服务器名、数据库实例名和连接细节。通过定义在tnsnames.ora中的服务名,客户端可以简单地指定要连接的目标数据库。 4. **cman.ora**(如果使用...
- **tnsnames.ora**:这是最重要的配置文件,包含了数据库连接的定义,每个定义代表一个网络服务名,包含主机名、端口号和SID(服务标识符)。 3. **监听器配置**: - **listener.ora**:此文件定义了监听器...
- **tnsnames.ora文件**:这是最重要的配置文件之一,用于定义数据库的连接描述符(service name或SID)。在这个文件中,你需要定义你要连接的数据库的服务名,包括主机名、端口号和服务名等信息。 - **sqlnet.ora...
4. **network/admin** 目录:包含网络配置文件,例如ldap.ora、sqlnet.ora等,这些文件用于配置Oracle网络服务,如监听器和连接方式。 5. 其他库文件:如ocijdbc11.jar(Java JDBC驱动)、ocijdbc14.jar(适用于...
- **tnsnames.ora**: TNS(Transparent Network Substrate)命名服务配置文件,定义了数据库连接的服务名和服务端点。 - **network/admin**: 存放网络配置文件的目录,包括ldap.ora、sqlnet.ora等。 - **其他库...
- 服务名/SID:从tnsnames.ora文件或数据库管理员那里获取。 - 用户名和密码:用于登录数据库的凭证。 - 如果已经配置了Oracle Instant Client,可以选择“本地/内嵌”作为连接方式。 - 测试连接,确认配置无误...
- 如果遇到权限问题,可能需要修改Oracle的tnsnames.ora文件来配置连接。 - 安全性更新:定期检查并更新JDBC驱动,以利用最新的安全补丁和功能改进。 6. **使用Kettle进行数据操作**: - 一旦连接成功,你可以...
3. **配置tnsnames.ora**: 在tnsnames.ora文件中添加或修改数据库连接的定义,包括服务名、主机名、端口号和SID。 4. **测试连接**: 使用sqlplus或其他支持Oracle Instant Client的工具,如Navicat for Oracle,...
3. **tnsnames.ora**: 这是一个配置文件,定义了数据库连接的服务名(Service Name)和对应的网络连接参数,如主机名、端口号和SID(System Identifier)。通过编辑这个文件,用户可以方便地管理和配置数据库连接。 ...
- **tnsnames.ora**:这是最重要的配置文件,用于定义数据库连接的服务名(Service Name),包括主机名、端口号和SID等信息。 3. **监听器**: - **Listener**:确保Oracle监听器(Listener)已经启动,监听器...
URL的格式是`jdbc:oracle:thin:@<host>:<port>:<service_name>`,其中`<host>`是数据库服务器地址,`<port>`是监听的端口号(默认1521),`<service_name>`是Oracle服务名(可在tnsnames.ora文件中查找或直接使用SID...
- 在客户端安装 Oracle Client 并配置 `tnsnames.ora` 文件,以确保客户端能够正确地连接到服务器上的数据库。 3. **多 IP 地址下的监听器配置**: - 在多 IP 地址的服务器环境中,可以配置监听器同时监听多个...
3. **tnsnames.ora**: 这个文件定义了网络服务名,用于指定远程数据库的连接细节,包括主机名、端口号和SID(System Identifier)。 4. **ldap.ora**: 如果使用Oracle目录服务,这个文件包含了LDAP服务器的相关配置...