odbc 连接oracle数据库失败!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了odbc 连接oracle数据库失败!相关的知识,希望对你有一定的参考价值。

系统:2003 server/oracle 10.2g
开发工具:vb.net
程序连接方式:Driver=Microsoft ODBC for Oracle;Server=Name;Uid=userid;pwd=XXX;"

补充:1,两台电脑如下配置一样:2003 server,framwork2.0
2,PC1`的客户端是从9升级到10的,PC2是直接安装的10
3,PC1 上,sqlplus,excel,oracleclient都能连接,但是程序死活连接不上。(错误信息未知!程序中处理掉了!)
4,PC2 上,程序和其他方式都能连接!

问题:PC1上,程序为什么连接不成功???

现在我的分析:
1,程序一样,而且在其他机器上测试也没遇见过,所以程序没问题!
2,sqlplus,excel,oracleClient 都能连接成功,说明oracle客户端相关配置没问题!
由此,我猜想是 ODBC for ORACLE 这一块出了问题!
因为PC1,2是客户的server,没有调试的环境,请问各位高人,问题会出在那里???要给客户报告,急急哦!
谢谢1楼的回答!请问1楼,ODBC具体需要哪些设置呢??主要麻烦的是我现在根本不知掉PC1 ODBC的设置是什么样的,我需要一个出现问题可能性的具体的报告!!

这种情况下也就只能用排除法了

Oracle ODBC driver应该是一样的

你可以先试下更新Microsoft ODBC for Oracle看看行不

或者你可以用Oracle自带的ODBC试下
参考技术A 是不是端口改了,你没设置端口

Driver=Microsoft ODBC for Oracle;Server=Name:端口;Uid=userid;pwd=XXX;"
参考技术B PC1 配置好ODBC吗? 参考技术C 把SERVER端的防火墙关闭试一下

Oracle GoldenGate for Sql Server连接ODBC失败的处理方法

Oracle GoldenGate for Sql Server连接oracle数据库的时候还是比较容易的,命令行下面只要:

GGSCI> dblogin useridalias [ alias name]
或者
GGSCI> dblogin userid [ user name ] password [ password ]

就好了

如果是在MS SQL Server下面,也可以采用以下命令通过odbc连接:

GGSCI> dblgoin sourcedb [ dsn ]

这里SQL SERVER和Oracle是不同的,Sql server 用的是dsn名,同样可以连接好。

但是在进行extract和replicat的时候你会得到以下错误:

ERROR   OGG-00551  Database operation failed: Couldn‘t connect to DSN001. ODBC error: SQLSTATE 37000 native database error 4060. [Microsoft][SQL Server Native Client 11.0][SQL Server]无法打开登录所请求的数据库 "baseapp"。登录失败。.

在英文系统下面可能是这样的错误:

ERROR OGG-00551 Database operation failed: Couldn’t connect to [ dsn001 ]. ODBC error: SQLSTATE 37000 native database error 4060. [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot open database “db_name” requested by the login. The login failed.

这种错误提示非常的坑,不能按照字面意思去解决这个问题,无论修改odbc里面dsn的登陆还是sqlserver里面的授权都没用,而实际上在GGSCI里面同样的操作是没有问题的。

而解决这个问题的方法很简单:

打开Microsoft SQL Server Management Studio,在安全性->登录名->选择NT AUTHORITY\SYSTEM->右键->属性->服务器角色->勾选sysadmin就可以了

产生这个问题的原因在于GoldenGate的 manager(mgr)服务是以服务的方式运行的,在windows下是SYSTEM账户运行的,而SYSTEM账户可能没有权限访问Sql server数据库

另外一个是我们一般安装Sql server都选的混合模式,所以建立ODBC连接都是使用的集成账户登录;

 

以上是关于odbc 连接oracle数据库失败!的主要内容,如果未能解决你的问题,请参考以下文章

Oracle ODBC 读取失败并出现左连接

求救:jdbc_odbc链接oracle数据库失败,代码如下,运行后,显示:常连接到数据库。 但没有抓到资料。

如何用ODBC远程连接Oracle数据库

PowerDesigner15连接Oracle数据库失败

ODBC连oracle数据源的时候提示,无法解析指定的连接标识符。请说详细点,我已经崩溃了。

oracle已经配置好odbc数据源为啥打开access还是无法连接oracle