我正在使用MVC 4和实体框架5.0,我有一个数据库,这个数据库包含6个名为如下的表.
tblUser_family
tblUser_location
tblUser_info
tblUser_photo
tblUser_settings
tblUser_social
Run Code Online (Sandbox Code Playgroud)
当我创建.edmx文件时,设计器一个表中只有5个表"tblUser_settings"没有到来,而所有表都是通过foreginKeys连接的.
我收到了以下错误
错误1错误6004:表'Community.dbo.tblUser_settings'由关系引用,但无法找到.
c# asp.net-mvc-4 entity-framework-5 sql-server-2014 sql-server-2014-express
运行MS SQL server 2014 express.突然之间,视图中的一个列变为可空,尽管它是两个不可为空的列的并集.请帮我理解这里发生了什么:
和UNION:
我错过了什么?
编辑更多信息:当我重新保存IncomingTransactions视图时,它的列现在变为null,但它不应该是!以下是数量列的定义:( CASE PIN.StatusId WHEN 6那么PIN.QuantityReceived在7,然后0 ELSE PIN.QuantityRevised END)AS数量.每个数量字段都是非空的,并且case语句是详尽的.查询的其余部分是StatusId字段上的简单连接,这是一个非空FK,所以我仍然在这里迷失.
编辑2:根据下面的YB建议,我创建了一个重现此行为的最小测试用例:
Create Table ybTest1 (Q1 decimal (7,2) not null, X int not null);
GO
Create View ybTestNSB As
Select (CASE X WHEN 0 THEN Q1 ELSE CAST(0 as decimal(7,2)) END) AS Q From ybTest1
GO
Run Code Online (Sandbox Code Playgroud)
即使case语句是详尽的,ybTest1视图中的Q列也为null.即使我在ELSE分支中包含0 CAST(0 as decimal(7,2)),如YB所示,它仍然是空的.CASE没有我认为的语义,或者这是一个bug.
我有一个运行 Windows Server 2012 R2、IIS 8.5(包括 ClassicASP 功能)和 SQL Server 2014 Express 的新服务器版本。我想使用应用程序池标识连接到数据库。数据库设置为“Windows 身份验证模式”。
我的应用程序池标识名为activbase.net. 我在 SQL Server 中设置了一个名为的安全登录IIS AppPool\activbase.net,用户将它映射到我的数据库db_datareader并db_datawriter访问。
但是,当我尝试从网站访问数据库时,我得到:
无法打开登录请求的数据库“ActivbaseLive”。登录失败。
我认为这足以使连接正常工作。应用程序日志(事件查看器)显示:
用户“NT AUTHORITY\IUSR”登录失败。原因:无法打开明确指定的数据库“ActivbaseLive”。[客户: ]
所以我NT AUTHORITY\IUSR同样添加到 SQL Server>Security>Logins and Databases>[ActivbaseLive]>Security>Users,这解决了问题。
我的问题如下:
NT AUTHORITY\IUSR除了IIS AppPool\activbase.net登录名/用户之外,我是否还需要向我的 SQL Server 实例和数据库添加登录名/用户?谢谢,克里斯
我有一个ASP.NET Core 2.2项目,为此我打开了docker支持。只要项目不需要数据库连接,项目就可以正常运行。例如,登录。输入用户凭据时,出现以下错误。
处理请求时发生未处理的异常。Win32Exception:连接尝试失败,因为一段时间后连接方未正确响应,或者建立连接失败,因为连接的主机未能响应
未知位置SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。(提供者:TCP提供程序,错误:0-连接尝试失败,因为一段时间后连接方未正确响应,或者连接建立由于连接主机未能响应而失败。)
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity身份,SqlConnectionString connectionOptions,对象providerInfo,布尔重定向用户实例,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,布尔applyTransientFaultHandling)InvalidOperationException:引发了一个异常,该异常很可能是由于瞬时故障引起的。如果要连接到SQL Azure数据库,请考虑使用SqlAzureExecutionStrategy。
Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy + d__7.MoveNext()
当我的SQL Server配置管理器中未启用TCP / IP以前的错误是不同的。(不记得错误)我也跟着在链接中提到的步骤https://jack-vanlightly.com/blog/2017/9/24 /如何从内部docker连接到您的本地sql服务器-解决该问题。
我启用了TCP / IP并命名了管道。我也可以使用来自SQL Management Studio的IP进行连接。
当前连接字符串:
"ConnectionStrings": {
"DefaultConnection": "Server=xxx.xx.xx.x,1433;Database=TestDB;User ID=username;Password=pwd;Trusted_Connection=True;MultipleActiveResultSets=true"
},
Run Code Online (Sandbox Code Playgroud)
如果我错过任何一步,请告诉我。我想从我的Docker项目连接到本地SQL
我是一名新手,正在学习使用数据库的 T-SQL 方法AdventureWorks2012。我使用的是 SQL Server 2014,不过如果有一个也适用于 2008 的解决方案就太好了。我得到了以下练习:
使用 Sales.SpecialOffer 表编写查询。显示 MinQty 和 MaxQty 列以及 SpecialOfferID 和 Description 列之间的差异。
问题是,MaxQty允许空值,所以我试图为输出提出一个不涉及将空值留在其中的现实世界解决方案。但是,当我尝试使用合并返回“No Max”时(是的,我知道我可以将 NULL 保留在那里,但我试图看看是否可以解决这个问题),我收到的消息是值varchar“ No Max' 无法转换为数据类型int。我假设这是因为MaxQty - MinQtyasint优先?
select
specialofferid
, description
, coalesce((maxqty - minqty),'No Max') 'Qty_Difference'
from
sales.specialoffer;
Run Code Online (Sandbox Code Playgroud)
错误:
消息 245,级别 16,状态 1,第 135 行
将 varchar 值“No max”转换为数据类型 int 时转换失败。
我想过只返回一个无意义的整数(0或负数),但这似乎并不完美 - 如果返回 0 我会掩盖结果实际上为零的情况,等等。
想法?
我最近安装了SQL Server 2014 Express,需要创建链接服务器。我已经在SQL Server Management Studio中尝试了此操作(来自object explorer - server objects - linked servers - add linked server)。
通过服务器类型“ SQL Server”直接连接服务器或通过在“其他数据源”中指定连接属性时,然后使用Microsoft OLE DB Provider for SQL Server并填写其他详细信息,我收到以下错误。
链接服务器已创建,但连接测试失败。SQL Server本机客户端11.0不支持与SQL Server 2000或更早版本的连接。
我需要能够在不同服务器上的两个数据库之间创建联合查询,实现此目的的最佳方法是什么?我需要连接的数据库是版本8(SQL Server 2000),非常老。我已经阅读了通过事务处理SQL可能实现的方法,但不确定要采取什么步骤。
我是Sql Server的新手,想知道是否可以将SQL Server 2014 Express设置为复制的Publisher服务器?我在Replication文件夹树中找不到Local Publication节点.
我正在尝试创建一个"Configuration.ini"文件来自动化未来的SQL Server Express 2014安装.我找到了来自整个网络的几个帖子,告诉我正常安装,选择我的所有设置,在准备安装之前,屏幕左侧的"准备安装"文本将是粗体,底部将有一个TextBox,其中包含配置文件的路径.事实证明,这些都没有显示在屏幕上,并且安装程序没有创建Configuration.ini文件.为什么不为我创建.ini文件?
我正在尝试通过VBA找出SQL服务器的连接字符串中需要的内容.
这是我现在的代码,
Sub ConnectSqlServer()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
' Create the connection string.
sConnString = "Provider=SQLOLEDB;Data Source=INSTANCE\SQLEXPRESS;" & _
"Initial Catalog=MyDatabaseName;" & _
"Integrated Security=SSPI;"
' Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
' Open the connection and execute.
conn.Open sConnString
'Do my stuff here
If CBool(conn.State And adStateOpen) Then conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
问题是我不知道在Connection字符串中放什么.我的完整文件路径就是这个.
C:\Program …Run Code Online (Sandbox Code Playgroud) excel vba connection-string excel-vba sql-server-2014-express
你觉得什么更好.即使没有更改所有值,也会每次更新表的所有列,或仅更新具有多个更新的已更改列.这个想法是,而不是立即更新每个更改,等待一些更改,然后更新所有列,但我不想实现一个逻辑谁确定哪些列已被更改.
UPDATE myTable
SET col1 = newVal1,
col2 = oldVal2,
col3 = newVal3,
...
WHERE x = y
Run Code Online (Sandbox Code Playgroud)
与
UPDATE myTable SET col1 = newVal1 WHERE x = y
UPDATE myTable SET col3 = newVal3 WHERE x = y
...
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Server 2014 Express.
sql ×3
sql-server ×2
asp.net ×1
asp.net-core ×1
c# ×1
docker ×1
excel ×1
excel-vba ×1
iis-8.5 ×1
installation ×1
publisher ×1
vba ×1