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连接都是使用的集成账户登录;

 

转载于:https://www.cnblogs.com/maintell/p/5613445.html

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值