小编Pix*_*ted的帖子

查找字符位置并更新文件名

我可以使用什么函数在PowerShell 2.0中查找字符串中的字符位置.

即如果使用SQL Server,我会使用CHARINDEX或PATINDEX.

我查看了使用Select-Stringcmdlet,但它似乎没有做我需要它做的事情.

最终,我希望在文件名中找到一个"_"字符,并将所有内容删除到以下"." .

示例文件名237801_201011221155.xml

最终解决方案,下面删除当前目录中所有.xml文件的所有字符,包括<_>到<.>

Get-Childitem *.xml | Rename-Item -newname `
  { $_.name -replace $_.name.SubString($_.name.IndexOf("_"), `
       $_.name.LastIndexOf(".") - $_.name.IndexOf("_") ),''}
Run Code Online (Sandbox Code Playgroud)

最终会得到237801.xml

powershell powershell-2.0

16
推荐指数
1
解决办法
16万
查看次数

SSIS将结果集从数据流设置为变量

在我给自己某种压力相关的心脏病发作之前.

有谁知道如何完成看似简单的任务设置一个数据流任务的结果集(结果将是0或1)并将该值分配给变量.

我创建了变量ok.

结果集来自具有多个元素的XML文件.标志(0或1)是其中一个元素的结果,因此我还需要知道如何将结果集作为该标志.

如果有人可以提供帮助,我真的很感激.

更新:我最终将结果(0,1)读回SQL Server进入标志表.然后使用Execute SQL脚本将其从SQL Server读取回变量.不确定这是否是完成它的最佳方式,但似乎已经完成了这个伎俩.

ssis ssms sql-server-2008

11
推荐指数
1
解决办法
2万
查看次数

SQL Server 2008 - 将XML声明添加到XML输出

我一直在与这个争夺几天,我正在寻求使用以下语法自动化XML输出

 SELECT (
   SELECT CONVERT(VARCHAR(10),GETDATE(),103)
   FOR XML PATH('DataVersion'), 
     TYPE
   ),
   (  
   SELECT CoNum,
     CoName,
     CONVERT(VARCHAR(10),AccountToDate,103) 'DLA',
     LAFileNet
   FROM @XMLOutput  
   FOR XML PATH('Company'),
     TYPE  
   )
 FOR XML PATH(''),
   ROOT('Companies')
Run Code Online (Sandbox Code Playgroud)

这会创建以下输出

<Companies>
  <DataVersion>15/11/2010</DataVersion>
  <Company>
    <CoNum>111</CoNum>
    <CoName>ABCLmt</CoName>
    <DLA>12/12/2010</DLA>
    <LAFileNet>1234</LAFileNet>
  </Company>
  <Company>
    <CoNum>222</CoNum>
    <CoName>DEFLmt</CoName>
    <DLA>12/12/2007</DLA>
    <LAFileNet>5678</LAFileNet>
  </Company>
</Companies>
Run Code Online (Sandbox Code Playgroud)

我正在努力的是如何将XML声明添加<?xml version="1.0" encoding="ISO-8859-1" ?>到输出的顶部?

更新1:我认为我需要在SQL服务器中创建XML模式来定义xsl:output是否正确?然后将输出分配给该架构?

更新2:此后发现这些链接 http://forums.asp.net/t/1455808.aspx - 查看健康的评论.另外 http://www.devnewsgroups.net/group/microsoft.public.sqlserver.xml/topic60022.aspx

xml sql-server encoding

10
推荐指数
1
解决办法
3万
查看次数