Tag: sql server

代码优先迁移中的update-database命令出错

我正在使用WPF中的桌面应用程序并使用LocalDB创建SqlRepository来存储数据。 我正在使用以下工具 Visual Studio 2013社区,更新2 entity framework6.1.2用于代码首次迁移 我使用Microsoft SQL Server数据库文件(SqlClient)配置创建了本地数据库。 数据库创建成功,下面是从Sql获取的连接字符串 Data Source=(LocalDB)\v11.0;Initial Catalog=D:\USERS\USERNAME\DOCUMENTS\TestDatabase\testdb.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False 我在app.config中使用相同的连接字符串。 我可以在Visual Studio中的SQL Server数据库资源管理器中查看数据库对象。 但是当在Nuget包管理器控制台中运行update-database命令时,我收到以下错误: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 validation实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 – 查找指定的服务器/实例时出错)

此RPC请求中提供的参数太多。 最高为2100.?

搜索查询返回此错误。 我有一种感觉,因为当我试图对另一个对象进行ORM时,in子句在一个从属对象上是巨大的。 显然,在子句中不应该一次构建1个参数。 谢谢ibatis。

如何使用C#将pdf文件插入和读取到Sql Server 2005数据库

如何将pdf文件插入sqlserver 2005并从sqlserver读取pdf文件?

如何连续运行NUnit测试夹具?

我在C#/ NUNit中实现了几套集成测试。 每个测试套件都是一个单独的类,每个夹具设置从脚本创建并填充SQL Server数据库。 这一切都曾经在Resharper 5.1之前工作得很好。 不幸的是,Resharper 5.1开始同时运行多个灯具。 这是一个重大改变 – 他们都在尝试创建和填充相同的数据库,这显然最终会陷入混乱。 有什么方法可以让Resharper连续运行我的测试夹具吗? 如果没有,你会建议连续运行我的NUnit测试夹具,一次一个夹具? 单个测试运行的顺序无关紧要。

在SSIS中的Script Task中连接到SQL数据库

在SSIS中的脚本任务内部,我需要调用SQL数据库。 我有一个连接字符串是在我将数据库添加到数据源文件夹时创建的,但是现在我不确定如何在C#代码中引用它。 我知道如何在ASP网站的代码中执行此操作,但似乎SSIS应该有更直接的方法。 编辑 这行代码实际上最终会抛出exception: sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction); 它写道:“无法将’System._ComObject’类型的COM对象强制转换为类类型’System.Data.SqlClient.SqlConection。’”

SQL Server – Guid VS. 长

到目前为止,我一直在使用C#“Guid = Guid.NewGuid();” 生成唯一ID的方法,该ID可以使用Linq to SQL存储在我的某些SQL Server数据库表中作为ID字段。 我被告知,出于索引的原因,使用GUID是一个坏主意,我应该使用自动递增Long。 将使用长时间加速我的数据库事务? 如果是这样,我该如何生成Long类型的唯一ID? 问候,

如何为Entity Framework CodeFirst迁移设置隔离级别

如果针对为SQL Server复制发布的表运行entity framework迁移(自动或显式),则会出现以下错误: 您只能在READ COMMITTED或REPEATABLE READ隔离级别中指定READPAST锁 之前( 此处 )存在一些问题,但它们完全无法解决根本原因: entity framework迁移在Serializable隔离级别运行 (如SQL Server分析器中清楚显示)。 对于结构更改事务,这是一个安全的选择,但它与发布的sql server表不兼容。 与dbContext.SaveChanges()事务中使用的默认READ COMMITED SNAPSHOT级别不同,我还没有找到一种方法来为代码中的迁移实际设置不同的隔离级别: 在Database.Initialize()期间似乎忽略了TransactionScope (设置事务隔离级别的经典方法Database.Initialize() 最近引入的Database.BeginTransaction(isolationLevel)实际上尝试在启动新事务之前初始化数据库,因此无法使用。 已知的解决方法 生成到SQL脚本的所有迁移。 这是有效的,但基于代码的迁移是一个我不想错过的强大工具。 使用显式迁移,并使用类似的方法启动每个Up()和Down()方法 Sql(“set transaction isolation level read committed”); 这很有效,但由于开发人员通常不使用复制数据库,因此不方便且容易出错。

如何在设计模式下更改visual studio 2013中的表名?

我在Visual Studio 2013中创建了一个SQL数据库表。我想重命名它,但名称属性被禁用。 如何更改表名?

在执行长时间运行的数据库任务时处理Web服务超时

我们的产品之一的架构是典型的3层解决方案: C#客户端 WCF Web服务 SQL Server数据库 客户端从Web服务请求信息。 Web服务命中数据库以获取信息并将其返回给客户端。 这是问题所在。 其中一些查询可能需要很长时间,而且我们不知道哪些查询会很慢。 我们知道一些通常比其他人慢,但即使是最简单的请求,如果有足够的数据,也会很慢。 有时使用查询或运行大量数据的报告。 只有在大量数据减慢之前,才能优化查询。 如果数据库中的查询在SQL Server中达到最大查询超时,则数据库查询将终止,并且Web服务会向客户端返回错误。 这是理解的。 我们可以处理这些错误。 客户端正在等待Web服务调用完成。 如果数据库调用需要很长时间,则客户端可能会在调用Web服务时超时。 客户端放弃,但数据库请求继续处理。 此时,客户端与数据库不同步。 数据库调用可能成功也可能不成功。 可能有错误。 客户永远不会知道。 在某些情况下,我们不希望我们的用户发起另一个请求,如果完成上一个请求,可能会导致无效状态。 我很想知道其他人是如何处理这个问题的。 您使用了哪些策略来防止Web服务超时影响数据库调用? 我能提出的最好的想法包括在某个地方创建一个实际的数据库层 – 在Web服务内部,附加到消息队列 – 某些东西。 将每个查询卸载到另一个进程似乎过多。 (然后,我们并不总是知道给定的请求是快还是慢。) 如果我们可以将发出HTTP请求的行为与启动和运行数据库进程的行为分开,那就太好了。 我已经在之前的公司看到过使用自定义服务器,但它使用的是直接套接字通信,而我宁愿避免使用某些自定义应用程序替换Web服务。 请注意,鉴于我们处理的数据量,我们都在进行查询优化。 查询优化,索引等只会在数据量很大时才将您带到目前为止。 有时事情需要很长时间。

如何从C#中的SQL查询结果中填充类?

我有一个这样的课: public class Product { public int ProductId { get; private set; } public int SupplierId { get; private set; } public string Name { get; private set; } public decimal Price { get; private set; } public int Stock { get; private set; } public int PendingStock { get; private set; } } 我可以从我的数据库中获取这些细节,如下所示: […]