Tag: sql server

如何使用sql server management studio将blob插入到数据库中

我怎样才能轻松地插入到一个varbinary(MAX)字段blob? 为了参数的缘故: 假设我要插入的东西是:c:\ picture.png表是mytable的列是mypictureblob和地方recid = 1 我一直在Google上search一段时间,我找不到一个简单的解决scheme 谢谢!

在SQL服务器上获取上个月的logging

我想根据我的数据库表[成员]字段“date_created”得到上个月的logging。 什么是SQL来做到这一点? 澄清,上个月 – 2009年1月8日至31/8/2009 如果今天是2010年1月3日,我将需要获取2009年1月12日至2009年12月31日的logging。

Visual Studio:ContextSwitchDeadlock

我一直在收到一个我无法解决的错误消息。 它来自Visual Studio或debugging器。 我不确定最终的错误条件是在VS,debugging器,我的程序还是数据库中。 这是一个Windows应用程序。 不是一个Web应用程序。 来自VS的第一条消息是一个popup框:“任何调用堆栈帧都不加载符号,源代码不能显示”。 当点击它时,我得到:“ 检测到ContextSwitchDeadlock ”,以及下面转载的长信息。 该错误出现在扫描DataTable的循环中。 对于每一行,它使用表中的一个键(HIC#)作为SqlCommand的参数。 该命令用于创build返回一行的SqlDataReader。 数据进行比较。 如果检测到错误,则将行添加到第二个DataTable。 该错误似乎与程序运行多长时间(即60秒后)有关,而不是发现多less错误。 我不认为这是一个记忆问题。 循环内没有声明variables。 唯一创build的对象是SqlDataReaders,它们在Using结构中。 添加System.GC.Collect()没有效果。 db是同一台笔记本电脑上的SqlServer站点。 表格上没有花哨的小玩意或小玩意儿。 我不知道这个过程中的任何事情,与我以前做过的几十次大不相同。 我以前看过错误,但从来没有一致的基础。 任何想法,任何人? 完全错误文本: CLR已经无法从COM上下文0x1a0b88转换到COM上下文0x1a0cf8达60秒。 拥有目的地上下文/公寓的线程很可能是在不抽取Windows消息的情况下进行非抽取等待或处理非常长的运行操作。 这种情况通常会对性能产生负面影响,甚至可能导致应用程序无响应或内存使用量不断累积。 为了避免这个问题,所有的单线程单元(STA)线程应该使用抽取等待原语(比如CoWaitForMultipleHandles),并在长时间运行的操作中定期抽取消息。

在Microsoft SQL Server中是否有类似于MySQL的布尔数据types?

在Microsoft SQL Server中是否有类似于MySQL的布尔数据types? 如果是这样,MS SQL Server中的替代方法是什么?

@@ IDENTITY,SCOPE_IDENTITY(),OUTPUT和其他检索最后一个标识的方法

我已经看到插入后检索主键标识字段的值时使用的各种方法。 declare @t table ( id int identity primary key, somecol datetime default getdate() ) insert into @t default values select SCOPE_IDENTITY() –returns 1 select @@IDENTITY –returns 1 在插入后返回一个身份表: Create Table #Testing ( id int identity, somedate datetime default getdate() ) insert into #Testing output inserted.* default values 什么方法是适当的或更好的? OUTPUT方法是否是范围安全的? 第二个代码片段是从野外SQL中借用的

将表从数据库导出到csv文件

我想要:从SQL Server数据库导出表到逗号分隔的csv文件,而不使用SQL Server导入导出向导 我想用查询来做,因为我想在自动化中使用查询 可能吗? 我search了,没有find一个好的答案

SQL:从全名字段中parsing第一个,中间和最后一个名字

如何使用SQLparsing全名字段中的第一个,中间和最后一个名称? 我需要尝试匹配不是全名直接匹配的名称。 我希望能够把全名分解成第一名,中间名和最后一名。 数据不包含任何前缀或后缀。 中间名是可选的。 数据格式为“First First Last”。 我对一些实际的解决scheme感兴趣,让我有90%的方式。 如前所述,这是一个复杂的问题,所以我会分别处理特殊情况。

我如何执行插入并返回与Dapper插入的身份?

如何执行插入到数据库并返回插入的身份与Dapper? 我试过这样的事情: string sql = "DECLARE @ID int; " + "INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff); " + "SELECT @ID = SCOPE_IDENTITY()"; var id = connection.Query<int>(sql, new { Stuff = mystuff}).First(); 但它没有工作。 @Marc Gravell谢谢,回复。 我试过你的解决scheme,但是,仍然是exception跟踪在下面 System.InvalidCastException: Specified cast is not valid at Dapper.SqlMapper.<QueryInternal>d__a`1.MoveNext() in (snip)\Dapper\SqlMapper.cs:line 610 at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Dapper.SqlMapper.Query[T](IDbConnection cnn, […]

SQL Server历史logging表 – 通过SP或触发器填充?

在我的应用程序的SQL Server后端中,我想为一堆我的关键表创build历史表,这些关键表将追踪行更改的历史logging。 我的整个应用程序使用存储过程,没有embedded式SQL。 数据库修改这些表的唯一连接将通过应用程序和SP接口。 传统上,我一直在使用触发器来完成这个任务。 如果我在“存储过程”和“触发器”之间做出select,哪个更好? 哪个更快?

Sql Server Profiler中的“exec sp_reset_connection”是什么意思?

尝试通过发出“sp_reset_connection”来理解Sql Profiler的含义。 我有以下的“exec sp_reset_connection”行,然后是BatchStarting和Completed, RPC:Completed exec sp_reset_connection SQL:BatchStarting SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c] SQL:BatchCompleted SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c] 基本上第一行“exec sp_reset_connection”是指整个过程(我的连接被打开,select stmt运行,然后连接closures并释放回池)刚刚发生? 或者我的联系还处于开放阶段。 而且,为什么在我自己的select语句之前执行sp_reset_connection,是不是应该在用户的sql之后重置呢? 我试图知道是否有一种方式来更详细地了解连接打开和closures时的情况? 通过看到“exec sp_reset_connection”,这是否意味着我的连接closures?