首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DBMS_PASSTHROUGH从Oracle创建SQL Server别名

使用DBMS_PASSTHROUGH从Oracle创建SQL Server别名
EN

Stack Overflow用户
提问于 2011-11-23 05:47:49
回答 1查看 795关注 0票数 3

我有一个连接到SQL Server数据库的带有dblink的Oracle数据库。在Oracle中,我尝试创建SQL Server登录名和别名,如下所示:

代码语言:javascript
复制
declare
   l_num_rows number;
begin
  l_num_rows := dbms_hs_passthrough.execute_immediate@MYDBLINK ('CREATE LOGIN [John.Smith] WITH PASSWORD =  ''B!gdaddy12''');
  commit;
  execute immediate 'alter session close database link MYDBLINK';
  commit;
  l_num_rows := dbms_hs_passthrough.execute_immediate@MYDBLINK ('USE Testdb; exec sp_addalias [John.Smith], [HONCHO3]');
  commit;
  execute immediate 'alter session close database link MYDBLINK';
  commit;
end;

发生的情况是创建了登录,但没有创建别名-没有引发任何异常。如果我尝试创建别名两次,如下所示,它确实有效,即创建了一个登录和一个别名:

代码语言:javascript
复制
declare
   l_num_rows number;
begin
  l_num_rows := dbms_hs_passthrough.execute_immediate@MYDBLINK ('CREATE LOGIN [John.Smith] WITH PASSWORD =  ''B!gdaddy12''');
  commit;
  execute immediate 'alter session close database link MYDBLINK';
  commit;
  l_num_rows := dbms_hs_passthrough.execute_immediate@MYDBLINK ('USE Testdb; exec sp_addalias [John.Smith], [HONCHO3]');
  commit;
  execute immediate 'alter session close database link MYDBLINK';
  commit;
  l_num_rows := dbms_hs_passthrough.execute_immediate@MYDBLINK ('USE Testdb; exec sp_addalias [John.Smith], [HONCHO3]');
  commit;
  execute immediate 'alter session close database link MYDBLINK';
  commit;
end;

有人能指出我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2012-04-01 10:55:54

你可以使用事件探查器,这是一个sqlserver支持的工具。它很简单,但只有一个图形用户界面,你可以找到如何使用DMV -> sys.traces,等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8234273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档