标签: tnsnames

如何使用带有针对Oracle的macromedia驱动程序的tns条目

我们目前被迫在ColdFusion上使用macromedia驱动程序以连接到Oracle数据库.jdbc连接url如下:

jdbc:macromedia:oracle://server:port;sid=service
Run Code Online (Sandbox Code Playgroud)

这种方法的另一面是它迫使我们"硬编码"数据库服务器的名称以及端口号和服务名称.

有谁知道jdbc url应该如何使用TNSNames条目?

对于OCI驱动程序,它是 jdbc:oracle:oci:@tnsentry

是否可以对macromedia驱动程序执行相同的操作?你是什​​么正确的网址?

oracle coldfusion tnsnames jdbc

5
推荐指数
1
解决办法
670
查看次数

如何在C#应用程序中设置TNSNAMES文件的正确路径?

这是我的问题:我在C#中使用ODP.NET dll的程序:oci.dll,ociw32.dll,Oracle.DataAccess.dll,orannzsbb11.dll,oraocci11.dll,oraociicus11.dll,OraOps11w.dll.

我有2台电脑.首先安装完整的ODAC包,然后安装第二个包.但我在exe目录中都需要dll,所以ODAC不是问题(我认为).这些计算机之间的区别是TNSNAMES文件的路径.第一个:C:\ app\OraHome_1\Network\admin\Second:C:\ Oracle\product\11.2.0\client_1 \network\admin

并在第一个CPU程序工作正常.但是在具有相同连接字符串的第二个上,无法打开连接(ORA-12154).使用SQL Plus,我可以在两台计算机上连接.

那么,我怎样才能展示我的程序通往TNSNAMES的正确途径?

c# oracle tnsnames

5
推荐指数
1
解决办法
2万
查看次数

从SQL Server查询Oracle数据库

我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中.

起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运行查询.这适用于小型表,但我有几个表有几十万行,有些表有数百万行,所以这个解决方案不起作用.

然后我创建了一个包含以下内容的TNS文件:

OracleTnsName = 
(
  DESCRIPTION=
  (
    ADDRESS = (PROTOCOL=TCP)(HOST=localhost)(PORT=1521)
  )
  (
    CONNECT_DATA = (SERVICE_NAME=XE)
  )
)
Run Code Online (Sandbox Code Playgroud)

我按照我在别处找到的关于如何生成ODBC连接的指令,并且'测试连接'成功了.

然后我运行这些命令在MS SQL中创建链接服务器:

EXEC sp_addlinkedserver 
     @server            = 'OracleLinkServer'
    ,@srvproduct        = 'OracleTnsName'
    ,@provider          = 'MSDASQL'
    ,@datasrc           = 'OracleTnsName'

EXEC sp_addlinkedsrvlogin 
     @rmtsrvname        = 'OracleLinkServer'
    ,@useself           = 'False'
    ,@locallogin        = NULL
    ,@rmtuser           = 'user'
    ,@rmtpassword       = 'password'
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用openquery以下方法从SQL Server查询Oracle数据库中的表:

select * from openquery(OracleLinkServer, 'select * from oracleTable')
Run Code Online (Sandbox Code Playgroud)

但得到一个错误:

消息7399,级别16,状态1,行1
链接服务器"OracleLinkServer"的OLE DB提供程序"MSDASQL"报告错误.提供商未提供有关错误的任何信息.
消息7303,级别16,状态1,行1
无法为链接服务器"OracleLinkServer"初始化OLE DB提供程序"MSDASQL"的数据源对象.

当我检查链接服务器的属性,只需单击确定,我收到此错误:

标题:Microsoft SQL …

sql-server oracle oledb tnsnames openquery

5
推荐指数
1
解决办法
5万
查看次数

ORA-12154:TNS:无法解析指定的连接标识符(PLSQL Developer)

我需要使用PLSQL Developer来访问oracle数据库.当我尝试连接到我的数据库时出现以下错误.ORA-12154: TNS:could not resolve the connect identifier specified.我可以使用SQLPLUS命令行来连接到数据库,并TNSPING成功返回,但我想不出为什么PLSQL开发者将无法正常工作-这是使用正确的tnsnames.ora文件,并在那里连接字符串是正确的,因为它与tnsping使用的相同.

任何人都知道我可以做些什么来解决这个问题?我已经查看了关于这个特定错误的其他线程而没有运气.

tnsnames.ora中

    ORCL =
      (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = MININT-AIVKVBM)(PORT = 1521)) 
      (CONNECT_DATA = 
        (SERVER = DEDICATED) 
        (SERVICE_NAME = orcl)
      )
    )
Run Code Online (Sandbox Code Playgroud)

SQLNET.ORA

     SQLNET.AUTHENTICATION_SERVICES= (NTS)
     NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
Run Code Online (Sandbox Code Playgroud)

sqlpus命令行 图像在这里

PLSQL Developer连接首选项:此处为图像

oracle tnsnames plsql sqlplus plsqldeveloper

5
推荐指数
1
解决办法
10万
查看次数

无法连接 SQLState=08004 [Oracle][ODBC][Ora]ORA-12154: TNS: 无法解析 ms odbc 管理员中指定的连接标识符

我想在一个 tnsnames.ora 文件中添加两个服务名称,并在“Microsoft ODBC 驱动程序配置”中的下面 2 个图像中出现错误。 在此输入图像描述

oracle excel odbc tnsnames instantclient

5
推荐指数
2
解决办法
4万
查看次数

如何将SQLPlus与tnsnames.ora连接

我想连接Oracle数据库而不安装Oracle Client。

我下载了:

  • “即时客户端软件包-基本”和
  • “即时客户端程序包-SQL * Plus”

然后C:\Oracle\instantclient,在上创建文件夹,在其中提取所有软件包。

我被设置system environment为:

Path - C:\Oracle\instantclient NSL_LANG - with properly key ORACLE_HOME - C:\Oracle\instantclient ORACLE_SID - C:\Oracle\instantclient TNS_ADMIN - C:\Oracle\instantclient

然后我创建tnsnames.ora了配置文件C:\Oracle\instantclient

当我在cmd中输入命令时:

sqlplus user/password @HOST

我有一条消息,如:

ERROR: ORA-12560: TNS:protocol adapter error

但是当我尝试像:

sqlplus user/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=address to host)(Port=1521))(CONNECT_DATA=(SID=address to SID)))

一切正常。为什么SQL识别tnsnames.ora文件有问题?

oracle tnsnames sqlplus

5
推荐指数
1
解决办法
2万
查看次数

与句点分隔的oracle连接标识符的确切处理方式

我一直想知道这一段时间,但由于它没有出现太多,我把它留在了"神秘的巫术"栏目中.

在我看来,ABC和ABC.DEFG之类的连接标识符之间存在某种关系,我不太清楚它是什么.

例如,我刚刚设置的机器我在使用identfier ED2时遇到问题,即使在我的tnsnames文件中我明显有

EDC2 = (....)
Run Code Online (Sandbox Code Playgroud)

这是从另一台运行良好的计算机上复制和粘贴的.然而,在我改变它之前,做EDC2的尝试将无法解决

EDC2.WORLD = (...)
Run Code Online (Sandbox Code Playgroud)

此时解析为EDC2开始工作.这里发生了什么?

oracle configuration tnsnames

4
推荐指数
1
解决办法
2127
查看次数

用于修改tnsnames.ora的命令行

是否有命令行实用程序来修改oracle客户端的tnsnames.ora文件?

[编辑]我正在寻找类似于odbcconf.exe(用于编辑Windows上的ODBC连接)的东西来修改tnsnames.ora文件.

[编辑2]我在自动构建脚本中使用MSBUILD.该的MSBuild社区任务项目具有适合正是我所需要的AddTnsName任务.我的谷歌搜索技巧一定很弱.我应该一直在搜索MSBuild和tnsnames.ora而不是命令行tnsnames.ora.但是,Oracle确实没有为tnsnames.ora提供odbcconf之类的命令行实用程序.

oracle msbuild tnsnames oracleclient

4
推荐指数
1
解决办法
3616
查看次数

无法从 C#.net 应用程序连接到 Oracle 服务器

我正在尝试连接到远程 Oracle 服务器。我的连接字符串 -

OdbcConnection con = new OdbcConnection();
con.ConnectionString = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST= xxxx)(PORT=xxxxx))(CONNECT_DATA=(SERVER=dedicated)(SERVICE_NAME=abc.domain.com)));USER ID=user1;Password=pwd;";
Run Code Online (Sandbox Code Playgroud)

我遇到错误:“错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序”(System.Data.Odbc.OdbcException) 异常消息 =“错误 [IM002] [Microsoft][ ODBC 驱动程序管理器]未找到数据源名称且未指定默认驱动程序“,异常类型 =”System.Data.Odbc.OdbcException”,异常 WinRT 数据 =“”

我根据我的 TNSNAMES.ora 指定了我的连接字符串

我的数据库在 TNSNAMES.ora 中的条目如下:

DB.WORLD=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST= xxxx)
      (PORT=xxxxx)
    )
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=abc.domain.com)
    )
  )
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这个错误吗?请帮助/建议我的连接字符串是否出错以及如何从我的 Windows 应用程序连接到 Oracle 服务器

.net c# oracle tnsnames connection-string

4
推荐指数
1
解决办法
7404
查看次数

使用完整连接字符串和 EZCONNECT 绕过 tnsnames.ora 时出现“ORA-12560:TNS:协议适配器错误”

尝试使用任一连接字符串绕过 tnsnames.ora(完整连接字符串和 EZCONNECT)会在尝试连接到数据库时返回以下错误:

pyodbc.Error: ('HY00', '[HY00] [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter error\n (12560) (SQLDriverConnect);[Oracle][ODBC][Ora]ORA -12560: TNS: 协议适配器错误\n (12560)')

我尝试使用https://www.connectionstrings.com/oracle/ 中的以下连接字符串:

Driver={Oracle in OraClient11g_home1}; Data Source=uid/pwd@//host:port/service_name;

Driver={Oracle in OraClient11g_home1};
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=port))) 
                         (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service_name)));
User Id=uid;Password=pwd;'
Run Code Online (Sandbox Code Playgroud)

我可以使用 sqlplus 和 EZCONNECT 连接到数据库:

PS: C:\>sqlplus uid/pwd@//host:port/service_name

SQL*PLUS: Release 11.2.0.1.0 Production on Thu Aug 30 11:56:22 2018

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL>
Run Code Online (Sandbox Code Playgroud)

我怀疑这是驱动程序问题,因为使用不同的驱动程序会返回不同的错误:

pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序 …

oracle odbc tnsnames pyodbc oracle11g

4
推荐指数
1
解决办法
5582
查看次数