是否有一个API可以读取TNS文件并将其呈现在一些易于使用的数据结构中?
我想获得所有TNS条目的列表.这可行,但不是特别优雅!
grep '^[a-zA-Z].*=' /etc/tnsnames.ora | sed 's/[ =].*//'
Run Code Online (Sandbox Code Playgroud) 我正在使用Oracle数据库.我用Java编写了一个小的JDBC连接程序,但是我遇到了一个监听器的问题.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JdbcConnection {
public static void main(String[] args) throws SQLException,ClassNotFoundException {
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "system";
String password = "password";
Connection connection = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection(url, user, password);
if(connection!=null){
System.out.println("Success in connnection");
} else {
System.out.println("failure in connection ");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
C:\Users\Administrator\Desktop>java JdbcConnection
Exception in thread "main" java.sql.SQLException: Listener refused the connectio
n with the following error:
ORA-12505, TNS:listener does not …Run Code Online (Sandbox Code Playgroud) 长话短说 - 我正在使用 Wireshark 从供应商工具捕获 SQL 到 Oracle 数据库。它已经有 TNS 协议的解码器(很棒),我可以通过以下方式访问 SQL 文本
Right Click->Copy->Bytes(Printable Text Only).
Run Code Online (Sandbox Code Playgroud)
问题是有大量的数据包,右键单击每个数据包可能需要很长时间。我想知道是否有任何方法可以直接从 Wireshark 导出“仅可打印文本”。理想情况下,我想要一个带有语句的文本文件。
任何帮助将不胜感激。
我有一个ASP.NET应用程序可以在Visual Studio开发服务器启动时连接到Oracle,但是当我将它部署到我的本地IIS时,它没有连接,显示"ORA-12154:TNS:无法解析连接标识符指定"错误.
我的连接字符串是:
Data Source=ABC; User Id=USER; Password=PASSWORD;
Run Code Online (Sandbox Code Playgroud)
Tt正在使用TNS.我的tnsnames.ora位于C:\ oracle\instantclient_10_2 \network\admin,我的ORACLE_HOME系统变量指向C:\ oracle\instantclient_10_2.
为了使它工作,我将连接字符串更改为:
"SERVER=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = server1.theplaceiwork.com)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = server2.theplaceiwork.com)(PORT = 1521))(LOAD_BALANCE = yes))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ABC)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))));uid=USER;pwd=PASSWORD;"
Run Code Online (Sandbox Code Playgroud)
所以不再使用TNS.
但是我想知道为什么我可以在使用Visual Studio进行debbu时使用TNS进行连接,但是在使用IIS时我不能.
有小费吗?
PS.我可以使用SqlDeveloper和TNS显示没有连接错误.
谢谢
好的一切工作正常,直到昨天我突然得到这个错误
ORA-12514:TNS:监听器目前不知道连接描述符中请求的服务
没有被修改
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = jainam-2b1c493d)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
Run Code Online (Sandbox Code Playgroud)
我完全陷入困境,不知道该怎么做.我从这里尝试了帮助
http://dba-oracle.com/t_ora_12514_tns_listener_does_not_currently_know_service_requested.htm
但没有用.谢谢
编辑:
这是输出到lsnrctl …
我有一个 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) 我错过了什么,我已经完成了运行 tns 医生的nativescript安装指南中要求的所有步骤,给了我以下输出...
C:\abc\xyz>tns doctor
? Getting environment information
? Your ANDROID_HOME environment variable is set and points to correct directory.
? Your adb from the Android SDK is correctly installed.
? The Android SDK is installed.
? A compatible Android SDK for compilation is found.
? Javac is installed and is configured properly.
? The Java Development Kit (JDK) is installed and is configured properly.
? Local builds for iOS can be executed only on a macOS …Run Code Online (Sandbox Code Playgroud) 我正在一个我们不时遇到与Oracle连接相关的生产问题的环境中工作.我们使用ASP.NET应用程序中的ODP.NET,我们怀疑防火墙会关闭连接池中的连接太长时间.
有时我们会收到"ORA-12571:TNS数据包写入失败"错误,有时我们会收到"ORA-03135:连接失去联系".
我想知道是否有人遇到这个和/或了解2个错误之间的区别.
我无法重新启动/启动/停止TNSListener服务。我收到以下错误消息:-“本地计算机上的OracleDb_10gTNSListener服务已启动,然后停止。如果某些服务没有任何工作要做,例如性能日志和警报服务,它们将自动停止”。请帮我
有没有办法配置 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,如果可以,如何?
我是NativeScript的新手,目前正在执行此处描述的安装步骤(http://docs.nativescript.org/angular/tutorial/ng-chapter-1),我刚刚完成了PowerShell脚本的执行
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/NativeScript/nativescript-cli/production/setup/native-script.ps1'))"
Run Code Online (Sandbox Code Playgroud)
然后我跑
tns doctor
Run Code Online (Sandbox Code Playgroud)
我得到
C:\>tns doctor 'tns' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud) 我通过运行以下命令设置了新的nativescript应用:
tns create application --ng
Run Code Online (Sandbox Code Playgroud)
当我尝试使用以下方式启动应用程序时:
tns run ios --emulator
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Unable to apply changes on device: BC7714A3-A8B0-4CEC-A7A4-D54563CF04EE. Error is: Command xcodebuild failed with exit code null.
Run Code Online (Sandbox Code Playgroud)
完整的错误是:-
Searching for devices...
Executing before-liveSync hook from /XXXXXX/Desktop/Bike/hooks/before-liveSync/nativescript-angular-sync.js
Skipping prepare.
Building project...
Xcode build...
2018-04-30 21:49:36.684 xcodebuild[1674:27197] [MT] DVTAssertions: ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-13756/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/RuntimeSupport/MacroExpansion/XCMacroExpansionExtensions.mm:94
Details: Assertion failed: [value isKindOfClass:[NSString class]] || [value isKindOfClass:[NSArray class]]
Object: <DVTMacroDefinitionTable: 0x7fab68c72bb0>
Method: -_xc_setValue:forMacroName:conditionSet:errorHandler:
Thread: <NSThread: 0x7fab68d176a0>{number = 1, name = main}
Hints:
Backtrace:
0 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in …Run Code Online (Sandbox Code Playgroud) 所以几天我开始这个应用程序 - 手表工作得很好,直到今天.
这就是我所说的: tns run android --emulator --device=ANDROID --watch
但是当我更改代码时,没有任何反应,我的更改不存在.当我运行tns医生时,它显示除了ios模拟器之外一切都是最新的(我现在不使用).
刚尝试重新安装应用程序(来自git - https://github.com/nestor94/my-instagram)并重新创建了avd.仍然 - 手表不工作.
谢谢!