我在Windows上安装了Oracle 10g.目前,我的tnsnames文件存储在%ORACLEHOME%\network\admin中.但是,我想配置Oracle以查找该文件的其他位置.
我怎样才能做到这一点?
安德鲁L.
我使用sql-developer连接到几个不同用户的几个不同的oracle数据库.连接信息保存在一个tnsnames.ora文件中,这样当数据库更改服务器时,我不必手动更新我的所有连接.我最近更新了我的tnsnames文件,现在网络别名列表中有两个应该存在的条目.第二个条目似乎工作(IE测试连接时通过测试).但是,默认情况下,它似乎选择了第一个条目,但不起作用.
我怀疑这是由于答案:Oracle TNS名称在向SQL Developer添加新连接时未显示, 但该答案并未解决如何解决该问题.
那么,我如何完全清除网络别名列表并强制它从文件重新加载?
我正在尝试使用 RODBC 从 R 连接到 Oracle,而不使用 tnsnanes.ora。
我试过跟随字符串,但它们都不起作用。
> con.text <- paste0("Driver={OracleODBC-11g};Dbq=//oracle.server:1527/database.pdw.prod;Uid=user;Pwd=pswd;")
> con.text <- paste0("Driver={OracleODBC-11g}; ",
"CONNECTSTRING=(DESCRIPTION=(ADDRESS= (PROTOCOL = TCP)(HOST = oracle.server)(PORT = 1527))(CONNECT_DATA=(SERVICE_NAME = database.pdw.prod))); uid=user;pwd=pswd;")
> con.text <- paste0("Driver=", "OracleODBC-11g"
, ";Server=", "oracle.server"
, ";Database=", "database.pdw.prod"
, ";Uid=", "user"
, ";Pwd=", "pwd", ";")
> con.text <- paste0("Driver=", "OracleODBC-11g"
, ";Server=", "oracle.server"
, ";CONNECTSTRING=" , "(DESCRIPTION=(ADDRESS= (PROTOCOL = TCP)(HOST = oracle.server)(PORT = 1527))(CONNECT_DATA=(SERVICE_NAME = database.pdw.prod)))"
, ";Database=", "database.pdw.prod"
, ";Uid=", "user"
, ";Pwd=", "pswd", ";")
> con1 <- …Run Code Online (Sandbox Code Playgroud) 我有一个 Spring Boot 应用程序,当它以经典方式连接到 Oracle 实例时可以顺利运行:
jdbc:oracle:thin:@<server name>:<port num>/<service name>
Run Code Online (Sandbox Code Playgroud)
但是,当我通过存储在本地驱动器“C:\ORACLE\Client11g\network\admin”中的 tnsnames.ora 转向通过 tns 的连接时,某些东西不起作用,我收到此异常:
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:267)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:231)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:240)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:858)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:885)
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579)
... 36 more
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100)
at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:137) …Run Code Online (Sandbox Code Playgroud) 你有:
你怎么能得到你的SQL*Plus连接?
嘿,我真的想弄清楚如何连接到远程Oracle测试数据库,我没有Java经验.所以,如果我能得到你的帮助,我将永远感激不尽.
我有一个远程测试数据库,我正在尝试连接到,我有一个旧样式SID的jdbc连接.根据这个链接:https://github.com/oracle/node-oracledb/blob/master/doc/api.md#notjdbc,我应该创建一个tnsnames.ora文件来连接,就像这样:
tnsnames.ora中:
appDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
(CONNECT_DATA =
(SID = ORCL)
)
)
Run Code Online (Sandbox Code Playgroud)
然后我应该在我的节点server.js文件中引用它,就像这样
server.js:
const oracledb = require('oracledb');
oracledb.getConnection(
{
user : process.env.ORACLE_USER,
password : process.env.ORACLE_PASSWORD,
connectString : "appDB"
},
function(err, connection)
{
if (err) {
console.error(err.message);
return;
}
connection.execute(
"SELECT * " +
"FROM BOS_course",
function(err, result)
{
if (err) {
console.error(err.message);
doRelease(connection);
return;
}
console.log(result.rows);
doRelease(connection);
});
});
module.exports = {
oracledb
}; …Run Code Online (Sandbox Code Playgroud) 有没有办法配置 Oracle SQL Developer 以尊重 sqlnet.ora 中的 TNS 查找顺序?
我们在 TNS_ADMIN 文件夹中正确配置了所有信息:
ldap.ora
sqlnet.ora
tnsnames.ora
Run Code Online (Sandbox Code Playgroud)
我们的 sqlnet.ora 配置 TNS 查找顺序为:
...
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
...
Run Code Online (Sandbox Code Playgroud)
我们希望客户端首先检查 LDAP,然后将本地 tnsnames.ora 作为备份,以防丢失 LDAP 连接。
但是貌似Oracle SQL Developer 不能使用sqlnet.ora。
您必须明确选择 TNS 或 LDAP。
我在谷歌周围搜索,但似乎没有人对此感到困扰。
请让我知道是否可以使用 Oracle SQL Developer,如果可以,如何?
我正在尝试将数据导入Oracle数据库.我有".imp"和".dmp"文件用于导入数据.数据库使用端口1521,数据库名称为"DB".我尝试了以下命令,但不起作用.
impdp root/password@xxx.xxx.xxx.xxx:1521:DB
dumpfile=transmart.dmp
logfile=transmart.imp
schemas=i2b2hive,i2b2metadata,i2b2sampledata,i2b2demodata,i2b2workdata
,biomart,biomart_user,deapp,searchapp,tm_cz,tm_lz,tm_wz
Run Code Online (Sandbox Code Playgroud)
错误:ORA-12504:TNS:侦听器未在CONNECT_DATA或ORA-12545中获得SERVICE_NAME :连接失败,因为目标主机或对象不存在
我可以telnet IP和端口没有问题.
有人可以建议吗?
谢谢!
最后几天,我与一个奇怪的甲骨文问题面对面.我在tnsnames.ora中定义了数据库.安装了Oracle客户端,客户端和客户端/ bin已添加到PATH.
Ping工作,tnsping工作,我可以通过数据库端口与telnet连接到主机.
当我尝试运行尝试连接到db的应用程序时,我得到了
ORA-12543:TNS:目标主机无法访问
当我尝试通过sqlplus连接时,情况也是如此
sqlplus用户名/密码@ TNSNAME
情况只发生在一个工作站上,它的共同点应该是有效的.
WS是Windows 7 64位.
数据库:
Oracle数据库10g企业版10.2.0.5.0版 - 64位生产
oracle 数据库是由某人安装的,我的机器中有大约 6 个 tns.ora 文件,每个文件都在单独的路径中。
在客户端 1、客户端 2、客户端 3、客户端 5 内的网络文件夹(网络内的 Admin 内的 2 个)中找到 4 个文件,全部位于 C:\App\Oracle\Product 目录下。
我在通过 cmd、powershell 和 python 使用数据库时遇到问题,均出现相同的错误:ORA-12154: TNS: 无法解析指定的连接标识符。
我们如何在各处配置正确的文件?
我在服务器上安装了oracle 11g,而.Net oracle客户端将访问数据库.
直到昨天我使用此连接字符串从客户端连接:
User ID=dbcplas;Password=pwd123;Data Source=(DESCRIPTION = (ADDRESS =(PROTOCOL = TCP)(HOST = 172.17.26.7)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl.cplas3.com)))
Run Code Online (Sandbox Code Playgroud)
直到昨天我才能在同一个客户端中使用Oracle SQL Developer.
今天早上我们重新启动服务器进行维护.重新启动服务器后,我无法从客户端.Net应用程序或sqldeveloper登录.
我能够通过sql plus服务器系统登录.
除此之外,我无法通过任何其他方式登录.
服务器端sql-developer也无法正常工作.
我从服务器上给出了以下详细信息:
lsnrctl服务:
C:\Users\Administrator>lsnrctl services
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 07-JAN-2014 15:
:45
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.26.7)(PORT=1521
)
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER …Run Code Online (Sandbox Code Playgroud) java.library.path sql developer windows 7 中没有 ocijdbc11
这是我的 tnsnames.ora
89# tnsnames.ora Network Configuration File: M:\app\oracleuser\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DOCASSIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DOCASSIST)
)
)
Run Code Online (Sandbox Code Playgroud)
这是听众.ora
# listener.ora Network Configuration File: M:\app\oracleuser\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = M:\app\oracleuser\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:M:\app\oracleuser\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
DOCASSISTLISTENER =
(DESCRIPTION_LIST …Run Code Online (Sandbox Code Playgroud) oracle tnsnames database-connection oracle-sqldeveloper ojdbc