我们有在SQL Server 2005上运行一些SQL的客户端应用程序,如下所示: BEGIN TRAN; INSERT INTO myTable (myColumns …) VALUES (myValues …); INSERT INTO myTable (myColumns …) VALUES (myValues …); INSERT INTO myTable (myColumns …) VALUES (myValues …); COMMIT TRAN; 它由一个长string命令发送。 如果其中一个插入失败,或者命令的任何部分失败,SQL Server是否会回滚事务? 如果它不回滚,我是否必须发送第二个命令来回滚? 我可以给出关于我正在使用的api和语言的具体信息,但是我认为SQL Server应该对任何语言都做出相应的回应。
除了写光标读取每一行并将其填充到列,其他任何替代方法,如果我需要将每行转换为列? TimeSeconds TagID Value 1378700244 A1 3.75 1378700245 A1 30 1378700304 A1 1.2 1378700305 A2 56 1378700344 A2 11 1378700345 A3 0.53 1378700364 A1 4 1378700365 A1 14.5 1378700384 A1 144 1378700384 A4 10 列数不固定。 输出:我刚分配n / a作为占位符,在该交集没有数据。 TimeSec A1 A2 A3 A4 1378700244 3.75 n/an/an/a 1378700245 30 n/an/an/a 1378700304 1.2 n/an/an/a 1378700305 n/a 56 […]
为什么下面的查询返回“错误转换数据typesvarchar到bigint”? 不是IsNumeric使CAST安全吗? 我已经尝试了每个数字数据types的转换,并得到相同的“错误转换…”错误。 我不相信结果数字的大小是一个问题,因为溢出是一个不同的错误。 有趣的是,在pipe理工作室中,结果实际上显示在结果窗格中一秒钟之后,错误又回来了。 SELECT CAST(myVarcharColumn AS bigint) FROM myTable WHERE IsNumeric(myVarcharColumn) = 1 AND myVarcharColumn IS NOT NULL GROUP BY myVarcharColumn 有什么想法吗?
我试图将一组文件从源path存档到一个存档path,一旦我完成了一些数据stream任务项目。 Foreach循环容器的内部我有:脚本任务 – >数据stream任务 – >执行SQL任务 – >文件系统任务 我有一个用户variables设置为Foreach循环容器中集合设置下的“名称和扩展名”项。 该variables被称为“文件名”,并在脚本任务(用于从文件parsing出信息并执行执行SQL任务)以及在平面文件连接pipe理器中的数据stream任务中使用平面文件源元素。 然后parsing文件并将数据插入到数据库中。 所有的工作,因为它应该,直到我到文件系统任务(FST)。 我想要的是一旦它的插入完成后,该文件移动到一个存档文件夹。 使用几个在线链接( 这里 , 这里和这里 )我已经添加了不同的variables,要么硬编码或从其他variables派生。 在任何情况下,发生的事情是,在FST上我得到错误,如“path中的无效字符”或“未知path”。 如果我尝试按照上面链接的示例来适应我的文件系统结构,我现在在数据stream任务中的平面文件源步骤中出现错误,说明它无法find指定的文件。 这是因为它a)无法find文件的path,因为没有给出文件path,只是filname.ext b)无法parsing包含源文件的完整path的variables( @FullSourcePathFileName ,其值设置为@[User::SourcePath] + @[User::fileName] ) 我已经testing了其他各种修改,包括完成我发布的第一个示例中的内容(但是,实际上并没有执行任何数据stream任务,因此我只是添加了没有目标的平面文件源步骤),并收到了相同的一组错误。 我在这里感到不知所措,并希望就如何解决这个问题提供任何意见。 编辑:似乎它保持失败的FullArchivePathFileName – 它永远不会计算expression式即使我已设置为“真”。 仍然困惑为什么它不评估它。 所以我做了与FullSourcePathFileName相同的expression式,并validation了EvaluateAsExpression标志设置为True。 它仍然不评估这个variablesFullSourcePathFileNamevariables正在被评估。
我正在使用一个表作为消息队列,并通过使用SqlDependency“注册”了更新。 我读到的每个人都在说要注意它的局限性,而不是特别说明它们是什么。 从我收集的信息来看,当桌子的更新频率非常高时,会有问题,幸运的是我只能看到每分钟最多10-20个值。 SqlServer的其他限制/影响是什么?
我知道这几乎是重复的: 在ASP.NET和SQL Server 2008中的用户'NT AUTHORITY \ IUSR' login失败和login用户'用户名'失败 – System.Data.SqlClient.SqlException与LINQ在外部项目/类库,但有些东西不加起来相比,我的服务器上的其他appliations,我不知道为什么。 正在使用的框: networking框 SQL框 SQLtesting框 我的应用程序: 我有一个ASP.NET应用程序,它引用了一个使用LINQ到SQL的类库。 连接string在类库中正确设置。 根据login用户的用户名失败 – System.Data.SqlClient.SqlException与外部项目/类库中的LINQ我也将此连接string添加到Web应用程序。 连接string使用SQL凭据(在Web应用程序和类库中): <add name="Namespace.My.MySettings.ConnectionStringProduction" connectionString="Data Source=(SQL Test Box);Initial Catalog=(db name);Persist Security Info=True;User ID=ID;Password=Password" providerName="System.Data.SqlClient" /> 此连接通过将其添加到服务器资源pipe理器来确认正在工 这是我的.dbml文件正在使用的连接string。 问题: 我得到以下错误: System.Data.SqlClient.SqlException: Login failed for user 'DOMAIN\MACHINENAME$'. 现在在ASP.NET和SQL Server 2008中引用这个错误“login失败的用户'NT AUTHORITY \ IUSR'”它说,这是真正的本地networking服务,并使用任何其他非域名将无法正常工作。 但是我很困惑,因为我已经同时检查了SQL Box和SQL Test Box SQL […]
使用MSSQL2005,如果我首先截断子表(具有FK关系主键的表),我可以截断具有外键约束的表吗? 我知道我也可以 使用没有where子句的DELETE ,然后RESEED身份(或) 删除FK,截断表,并重新创buildFK。 我认为,只要我截断父表之前的子表,我会没事没有做任何上述选项,但我得到这个错误: 无法截断表'TableName',因为它正被FOREIGN KEY约束引用。
有没有什么办法可以在SQl Server 2005中清理所有的表,并删除存储过程,触发器,约束和所有的依赖项在一个SQL语句? 申请理由: 我想要一个数据库脚本来清理不在使用的现有数据库,而不是创build新的数据库,特别是当您必须向数据库pipe理员发出请求并等待一段时间才能完成时!
我想将一个表作为parameter passing给一个缩放UDF。 我还希望限制参数只有一列的表。 (可选的) 这可能吗? 编辑 我不想传递一个表名,我想通过数据表(作为我想的参考) 编辑 我希望我的Scaler UDF基本上获取一个值的表,并返回一个CSV列表的行。 IE col1 "My First Value" "My Second Value" … "My nth Value" 会返回 "My First Value, My Second Value,… My nth Value" 我想在桌面上做一些过滤,IE确保没有空值,并确保没有重复。 我期待着以下几点: SELECT dbo.MyFunction(SELECT DISTINCT myDate FROM myTable WHERE myDate IS NOT NULL)
我知道SQL 7中有一些性能方面的原因,但SQL Server 2005中仍存在相同的问题吗? 如果在存储过程中有一个结果集,我想单独采取行动,那么游标仍然是一个不好的select? 如果是这样,为什么?