接手的老项目,其中有一条sql是 'select * from a库.dbo.b库的表' 这个条sql在原库上是可以查询的。
现在有一台新的服务器要迁移数据,我同样创建了两个库 但我执行 'select * from a库.dbo.b库的表'这个sql时,提示找不到。
这说明原库上做了某些设置,不知道如何解决了。
同时a库能查询b库的所有表 ,b库不能查询a库的表。 求助
(a库是没有b库的表的)
想知道怎么设置一下,如何设置。
碰到的问题如下
a库有aa表 b库有bb表
select * from a.dbo.bb 结果:可以查到
select * from b.dbo.bb 结果:当然可以查到
select * from b.dbo.aa 结果:不行 [42S02] Microsoft[SQL Server]对象名 'b.dbo.aa' 无效。 (208)
所以a库 指定是设置了什么配置
查询不出来请展示具体错误,应该是账户权限不足
在 SQL Server 中,跨数据库查询(也称为跨库查询)通常是通过完全限定名称来完成的,格式如 SELECT * FROM [DatabaseName].[SchemaName].[TableName]
。但有几个方面需要注意,特别是当你从一个服务器迁移到另一个服务器时。
a库
,你可能需要明确指定数据库名称。验证名称和大小写:
SELECT name FROM sys.databases;
来列出新服务器上的所有数据库,确保 a库
和 b库
存在且名称正确。SELECT name FROM a库.sys.tables;
来列出 a库
中的所有表,确保 b库的表
存在且名称正确(注意 SQL Server 默认不区分大小写,但某些配置可能会改变这一点)。设置权限:
sa
)登录到新服务器。a库
和 b库
中都有用户,并且这些用户有足够的权限来执行查询。你可以使用 USE [DatabaseName]; CREATE USER [UserName] FOR LOGIN [LoginName];
来创建用户,并使用 ALTER ROLE [RoleName] ADD MEMBER [UserName];
来分配角色(如 db_datareader
用于读取权限)。使用完全限定名称:
SELECT * FROM [a库].[dbo].[b库的表];
检查默认数据库:
a库
,你可能需要在查询中明确指定数据库名称。其他配置:
创建用户并分配权限(以 sa
登录名为例):
USE [a库];CREATE USER [YourLoginName] FOR LOGIN [YourLoginName];ALTER ROLE [db_datareader] ADD MEMBER [YourLoginName];USE [b库];CREATE USER [YourLoginName] FOR LOGIN [YourLoginName];ALTER ROLE [db_datareader] ADD MEMBER [YourLoginName];
执行跨库查询:
SELECT * FROM [a库].[dbo].[b库的表];
问题内容: 我正在寻找一种处理以下情况的方法: 我们有一个数据库服务器,上面有多个数据库(所有数据库都有相同的架构,不同的数据)。 我们正在寻找一种查询所有数据库的方法(并且它易于配置,因为可以随时添加更多数据库)。此数据访问必须是实时的。 举例来说,假设您有一个插入订单的应用程序- 每个应用程序都有自己的数据库等。我们正在寻找的是一种有效的方式,使单个应用程序可以访问所有其他数据库中的订单信息,
问题内容: 我在各自的数据库中都有WordPress实例。要进行更新,我需要查询所有活动插件,这些插件存储在表“ wp_options”中,可通过以下方式访问 如何访问 所有 活动的插件设置(分布在多个数据库中)并将其输出到一个SQL结果中?我知道语法,但是如何使用上面的语句从那里继续? 单个数据库中的请求如下所示: 问题答案:
问题内容: 我试图通过在经典ASP中查询2个数据库(Sybase)来生成报告。 我创建了2个连接字符串: 数据库 A的connA数据库B的connB 两个数据库都位于同一台服务器上(不知道这是否重要) 查询: 其次是: 当我尝试在浏览器中打开此页面时,出现错误消息: Microsoft OLE DB提供程序的ODBC驱动程序错误‘80040e37’ 找不到[DataDirect] [ODBC Sy
简介 Laravel 的数据库查询构造器为创建和运行数据库查询提供了一个方便的接口。它能用来执行应用程序中的大部分数据库操作,且可在所有支持的数据库系统上运行。 Laravel 的查询构造器使用 PDO 参数绑定来保护您的应用程序免受 SQL 注入攻击。因此没有必要清理作为绑定传递的字符串。 获取结果 从数据表中获取所有行 你可以 DB facade 上使用 table 方法来开始查询。该 tab
本文向大家介绍oracle跨库查询的方法,包括了oracle跨库查询的方法的使用技巧和注意事项,需要的朋友参考一下 在Oracle本地数据库端执行赋权dbuser帐号 SQL> grant create database link to dbuser; 1.配置本地数据库服务器的tnsnames.ora文件 添加如下行,其中DBLINK为连接名(可自定义),HOST和PORT为数据库侦听的IP及端
我是新来的和我试图我的得到一个从它。我试图这样做的它与这是id但问题是我不知道如何返回目标从。 这就是<代码>刀 这是Repository类