草庐IT

synpipe_server

全部标签

sql-server - 如何获取 XML 变量中的特定元素计数

考虑这个XML:1000NimaAgha1001LighaLigha1002JighaJigha1003AbaAba我声明了一个XML变量并将这个XML分配给它。我如何使用SqlServer2008(TSQL)获取此XML变量中的ID元素计数? 最佳答案 SELECT@XMLVariable.value('count(/Employees/Person/ID)','int')ASIDCount 关于sql-server-如何获取XML变量中的特定元素计数,我们在StackOverflow

SQL Server 使用 CTE 将 xml 转换为 csv - 当前忽略空值

我正在使用CTE将xml转换为csv,以便可以将其导出到文件中,但是如果我有一个空的xml标记,这目前会被忽略。这是我最初的解决方案,由这篇非常有帮助的帖子提供:https://stackoverflow.com/a/23785202/6260721这是我的sql:CREATETABLEEXPORT_TEST(DATAvarchar(max))INSERTINTOEXPORT_TEST(DATA)VALUES('ABC1235.68.1')DECLARE@commaSeparatedValuesNVARCHAR(MAX)DECLARE@xmlXML=(SELECTTOP1CONVERT

c# - 每天将大量 XML 数据(> 1Gb)导入 SQL Server 2008

我遇到了一个问题,我需要每天将一个巨大的XML(>1Gb)导入到SQLServer2008中。我现在拥有的是一个示例XML文件及其XML模式。XML模式非常复杂,其中包含许多自定义定义的简单类型和复杂类型的元素,例如:导入后,将实现一个WCF服务来检索存储在SQLServer中的数据,如搜索、检索等(只读操作)。我能想到的实现步骤是这样的:根据提供的XSD(手动)定义对象模型,对象模型将用于WCF服务返回值。根据提供的XSD(手动)定义数据库模式,该模式估计有大约20-30个表。创建一个SSIS包,每天将XML加载到数据库中。创建一个WCF服务,该服务从数据库中读取数据,将数据填充到第

sql - 在 SQL Server 2008 中使用 xml 和存储过程将数据插入到表中

我正在尝试将数据插入表中,同时我得到了一个错误Cannotfindcolumnnameoruserdefinefunction"Tbl.Col.value"oraggregateTbl.Col.valueorthenameisambiguous这是我的存储过程:ALTERPROCEDUREEcal_InsertVerniercal_Sp@exmlXMLASBEGININSERTINTOVernier_Gauge_Calibration(Comment,Report_Number,Acceptance_Status,Calibration_Date,Approved_By)SELECTT

c# - SQL Server 中的 CLR 程序集 C#

是否可以用C#做一个大项目(很多功能),然后,然后为其创建CLR程序集,在SQLServerINASTOREDPROC中,调用程序集中的函数,表(我将传递给ASSEMBLY)是在其他存储过程中计算的...如果是这样,步骤是什么?我是这样想的。--Ihaveastoredprocthatgetsatable,letitbemyStoredProcTable--FISTENABLEDATAACCESSEXECsp_serveroption'TheServerName','DATAACCESS',TRUE--main.sqlcallsyStoredProcTable.sqlandthecal

xml - SQL Server XML 列存在()查询

假设我有一个SQLServer2005表,其中的xml列包含以下值:CREATETABLEXmlTest(XMLidint,Dataxml)INSERTXMLTestVALUES(1,'')INSERTXMLTestVALUES(2,'')INSERTXMLTestVALUES(3,'')我想测试类型为v="3"且值为v="DEBIT"的项目元素是否存在。我正在使用exist()函数,如下所示:SELECT*FROMXmlTestWHEREData.exist('/data/item/type[@v=''3'']')=1ANDData.exist('/data/item/value[@

xml - 从 XML 中分解数据,导入关系表 (SQL Server 2008)

我到处寻求帮助。我是这一切的新手,我发现很难理解它的所有文档。假设我有这个XML:LiverpoolAnfieldChelseaStamfordBridgeArsenalHighbury我想从中获取数据并将其加载到名为footballteams(name,manager,ground)的关系表中。我想在SQLServer2008中执行此操作,并且从我到处阅读的内容来看,执行此操作的有用方法是.nodes()方法,但我就是不明白如何使用它。 最佳答案 尝试这样的事情:DECLARE@inputXML='LiverpoolAnfield

sql-server - 替换 SQL XML 中空节点的值

我遇到了在SQLServer中修改XML的问题,这对我来说似乎没有意义。我想更新一个空节点的值,但它似乎不起作用。例如,假设我有这个XML树:我想更新的值使用“foo”,所以我有XML查询:UPDATE[Table]SET[XmlColumn].modify('replacevalueof(root/node/text())[1]with"foo"')出于某种原因,这不起作用。它将节点视为不存在。如果节点已经有一个值(例如bar),它工作得很好,但是当节点为空时,它会默默地忽略命令,甚至不会抛出任何错误。有没有办法让SQLServer确认replacevalueof在空节点上?编辑:我

xml - ADO 无法使用 native 客户端 (SQLNCLI) 访问 SQL Server XML 类型的列

我正在使用ADO和其中一个“native”驱动程序(例如SQLNCLI、SQLNCLI10、SQLNCLI11)连接到SQLServer(而不是遗留的SQLOLEDB驱动程序)。ADO不理解native驱动程序公开的XMLSQLServer数据类型:field:ADOField;field:=recordset.Fields.Items["SomeXmlColumn"];尝试访问field.Value会抛出一个EOleException:来源:微软游标引擎错误代码:0x80040E21(E_ITF_0E21)消息:多步操作产生错误。检查每个状态值native客户端驱动程序(例如SQLN

xml - 在 SQL Server 中传递大量参数的最佳方法是什么

我正在尝试找出将大量参数传递到存储过程的最佳方法。我考虑的一些方法是;创建相关的数据库对象,包括每个项目的参数对象并调用命令对象传入XML文档并让存储过程将其解压缩。(该应用程序已经将它们采用XML格式)如果有人有更好的想法,我愿意听取他们的意见谢谢。 最佳答案 XML处理对于处理大量参数非常方便。您可以轻松地以XML形式传递参数,然后进行xml处理以获取值。如果您的数据已经是.Net就更好了。例如DECLARE@WidgetsIdsxmlSET@WidgetsIds='3615'SELECTParamValues.ID.value