gpt4 book ai didi

asp.net - 从不同的数据库中选择数据

转载 作者:行者123 更新时间:2023-12-01 06:38:56 26 4
gpt4 key购买 nike

我有两个数据库和一个使用 VS 2010 中的实体数据模型获取/设置数据的应用程序。

我在 DB(A) 中执行完整的存储过程,然后在 DB(B) 中使用 EXEC 语句返回数据。数据返回正常且正确,但每当我运行程序时,我都会在 C# 中得到以下异常:

“GetAverageTimes_Result”上的“AbandonTime”属性无法设置为“String”值。您必须将此属性设置为“十进制”类型的非空值。

我已经检查了数据模型中的所有地方,值是小数并设置为可为 null 等等。即使我将其更改为任何其他类型或不可为 null 的值,我仍然会遇到相同的错误。令人难以置信的沮丧。

我们将不胜感激。

最佳答案

如果序列号在 EACH 数据库的主表上,那么您可以使用完全限定名称将表连接在一起:

创建 View vWhatever

作为

SELECT(无论你想选择什么)

FROM [数据库 A].[模式 - 通常是 dbo].DSNA_tblMaiin AS a

加入[数据库 B].[dbo].DSNB_tblMaiin AS b ON a.Serialnumber = b.SerialNumber

加入 [数据库 C].[dbo].DSNC_tblMaiin AS c ON a.SerialNumber = c.SerialNumber

WHERE(无论你想过滤什么)

开始

如果 Assets 在其中一个表中,而不是所有三个表中(并且您不知道是哪一个),您可以在 View 中使用 UNION 来完成它 - 它实际上会将所有三个表放在一起,附加您指定的字段(相同数据类型),直到您拥有一个大型“虚拟表”,例如:

创建 View vWhatever

作为

选择 col1、col2、SerialNumber 等

来自 [数据库 A].[dbo].DSNA_tblMaiin

联合所有

选择 col1、col2、SerialNumber 等

来自[数据库 B].[dbo].DSNB_tblMaiin

联合所有

选择 col1、col2、SerialNumber 等

来自 [数据库 C].[dbo].DSNC_tblMaiin

开始

点符号正是您所看到的。如果您将查询扩展到另一台服务器,它只是 [ServerName].[DatabaseName].[ObjectSchema].[ObjectName] 而不是 [DatabaseName].[ObjectSchema].[ObjectName]

关于asp.net - 从不同的数据库中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com