在存储过程中从另一个数据库访问数据

德吉什乔杜里

以下是我的架构详细信息:

  • DB_A:schema_1,schema_2,schema_3
  • DB_B:schema_3

schema_3中的某些过程从schema_1和schema_2访问资源(表,视图,sp)。

两个数据库上的schema_3中的所有过程均相同。如何从schema_3访问两个数据库的schema_1

现在,我可以在过程中对DB_A进行硬编码,但是当我将代码移至客户端计算机时,由于DB_A可能不相同,这会造成问题(原因之一是客户端不正常,并且在同一台计算机上具有QA,Dev和Prod)。

第二种选择是获取DB_A名称作为参数,但是它将使所有schema_3 SP成为动态的(因为我没有任何方法可以访问@ DBName.schema_name.ResourceName之类的东西)。

第三种选择是创建链接服务器,由于与第一种原因相同,这也不能解决我的问题。

任何想法如何进行,我都不希望我的过程是动态的,只是因为其中80%是直接的。

编辑开始:

因此,我可以重述一下,因为我有多个数据库,其中一个数据库具有需要共享的资源(表/视图/模式),然后还有其他数据库(一个或多个)具有存储过程,这些过程可以计算来自共享数据库和自我的数据数据库。

共享数据库名称在所有环境中都不会保持不变,我想更改它们(特定于环境)。我提出了一个解决方案,其中我将为所有共享资源创建同义词,并且所有过程都将使用它们,这样,它们都将引用第一个数据库中的共享资源。

对于每个安装,我需要修改同义词定义以反映正确的共享数据库名称。数据库名称是否有任何SYNONYM,这样我就可以处理更少的同义词。

德吉什乔杜里

好吧,我发现的最佳选择如下。

相同模式中具有相同名称的单个对象(在共享数据库中创建同义词(独立数据库DB_BDB_A这样,您现有的过程就无需更改,并且可以按要求运行。同义词对此提供了很好的参考。我将很快创建一个应用程序,以简化此类情况下的同义词创建过程。

CREATE SYNONYM DB_B.schema_1.proc_1 FOR DB_A.schema_1.proc_1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在另一个数据库的存储过程中创建一个数据库对象?

来自分类Dev

尝试从Mysql的存储过程中的另一个数据库的表中获取数据时,它不返回数据

来自分类Dev

从当前数据库中的另一个数据库运行存储过程

来自分类Dev

从当前数据库中的另一个数据库运行存储过程

来自分类Dev

更新Azure文档数据库存储过程中的另一个集合

来自分类Dev

从另一个数据库中选择存储过程的权限问题

来自分类Dev

使用另一个数据库的存储过程

来自分类Dev

从另一个数据库调用存储过程并将数据插入Azure中的远程数据库中

来自分类Dev

从Joomla 3.2+中的另一个数据库访问数据

来自分类Dev

从Joomla 3.2+中的另一个数据库访问数据

来自分类Dev

没有将存储过程从一个数据库复制到另一个数据库的答案

来自分类Dev

将存储过程从一个数据库复制到另一个数据库

来自分类Dev

在另一个数据库中访问sys.sql_modules

来自分类Dev

从Android应用程序访问MySQL中的另一个数据库

来自分类Dev

访问服务提供者中的另一个数据库

来自分类Dev

如何生成一个模型,其表存储在另一个数据库中?

来自分类Dev

从Azure SQL提取数据,处理并存储在Azure上的另一个数据库中

来自分类Dev

Mysql过程定期将数据从一个数据库移动到另一个数据库

来自分类Dev

从同一服务器访问另一个数据库?

来自分类Dev

存储过程以将视图从当前数据库复制到另一个

来自分类Dev

存储过程以将视图从当前数据库复制到另一个

来自分类Dev

SQL动态地将数据从数据库存储到另一个数据库

来自分类Dev

从另一个数据库访问用户定义的表类型

来自分类Dev

如何用另一个过程将数据插入到存储过程中的临时表中?

来自分类Dev

访问将数据从一个数据库复制到另一个数据库

来自分类Dev

调用另一个数据库中的函数时的VBA访问返回值

来自分类Dev

如何访问SP中其他服务器上的另一个数据库?

来自分类Dev

Laravel:从另一个数据库表中获取数据

来自分类Dev

如何在一个数据库中删除多个存储过程

Related 相关文章

  1. 1

    如何在另一个数据库的存储过程中创建一个数据库对象?

  2. 2

    尝试从Mysql的存储过程中的另一个数据库的表中获取数据时,它不返回数据

  3. 3

    从当前数据库中的另一个数据库运行存储过程

  4. 4

    从当前数据库中的另一个数据库运行存储过程

  5. 5

    更新Azure文档数据库存储过程中的另一个集合

  6. 6

    从另一个数据库中选择存储过程的权限问题

  7. 7

    使用另一个数据库的存储过程

  8. 8

    从另一个数据库调用存储过程并将数据插入Azure中的远程数据库中

  9. 9

    从Joomla 3.2+中的另一个数据库访问数据

  10. 10

    从Joomla 3.2+中的另一个数据库访问数据

  11. 11

    没有将存储过程从一个数据库复制到另一个数据库的答案

  12. 12

    将存储过程从一个数据库复制到另一个数据库

  13. 13

    在另一个数据库中访问sys.sql_modules

  14. 14

    从Android应用程序访问MySQL中的另一个数据库

  15. 15

    访问服务提供者中的另一个数据库

  16. 16

    如何生成一个模型,其表存储在另一个数据库中?

  17. 17

    从Azure SQL提取数据,处理并存储在Azure上的另一个数据库中

  18. 18

    Mysql过程定期将数据从一个数据库移动到另一个数据库

  19. 19

    从同一服务器访问另一个数据库?

  20. 20

    存储过程以将视图从当前数据库复制到另一个

  21. 21

    存储过程以将视图从当前数据库复制到另一个

  22. 22

    SQL动态地将数据从数据库存储到另一个数据库

  23. 23

    从另一个数据库访问用户定义的表类型

  24. 24

    如何用另一个过程将数据插入到存储过程中的临时表中?

  25. 25

    访问将数据从一个数据库复制到另一个数据库

  26. 26

    调用另一个数据库中的函数时的VBA访问返回值

  27. 27

    如何访问SP中其他服务器上的另一个数据库?

  28. 28

    Laravel:从另一个数据库表中获取数据

  29. 29

    如何在一个数据库中删除多个存储过程

热门标签

归档