小编Doo*_*ius的帖子

除非手动保存,否则无法使用SSIS打开excel文件

除非手动打开文件并单击“保存”,否则我在使用SSIS处理excel文件时遇到问题。
我注意到,如果文件是.xls或.xlsx,它不会起作用

该文件是从SSRS项目下载到Excel的,
我可以使用文件系统任务来移动,重命名,删除等文件,但是当我尝试使用数据流任务来访问文件中的内容时,出现错误外部表的格式不正确。
然后,我必须打开文件,单击“保存”,文件处理正常。

不知道这是否意味着什么。...
我注意到,当我在记事本中打开原始文件时,第一行包括:

xl / workbook.xml

保存文件后,第一行更改为:

[Content_Types] .xml 

使用Microsoft Visual Studio 2012。

错误:

错误:TransferMoneyReconcile上的错误0xC0202009,连接管理器“ Excel连接管理器”:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。OLE DB记录可用。来源:“ Microsoft Office Access数据库引擎”结果:0x80004005说明:“外部表的格式不正确。”

ExcelConnectionString:

Provider = Microsoft.ACE.OLEDB.12.0;数据源= \ 192.168.234.567 \ ftp \ Sample \ Money \ Archive_Transfer Money to Manager.xlsx; Extended Properties =“ EXCEL 12.0 XML; HDR = NO”;

任何帮助/建议表示赞赏!
谢谢!
史蒂文

excel ssis dataflowtask reporting-services

5
推荐指数
1
解决办法
3027
查看次数

在 SQL 中查找递增或递减 1 的值

我正在尝试找到一种方法来查找类似“1234”、“12345”、“9876”、“7654”等的字符串。因此,具有向上或向下连续数字的值。3 个字符(例如 123、321)到 10 个字符(0123456789、9876543210)之间的任意字符

INSERT INTO #TmpTbl 
Values ('12345')
,('45678')
,('44569')
,('987654')
,('748376')
,('123')
,('0123456789')
,('9876543210')
Run Code Online (Sandbox Code Playgroud)

预期成绩

  • 12345
  • 45678
  • 987654
  • 123
  • 0123456789
  • 9876543210

sql t-sql sql-server

0
推荐指数
1
解决办法
174
查看次数

大于0时连接值

如果值大于0,我需要连接多列的值.

例:

Video     1  
Internet  0  
Phone     3  
Security  0  
Basic     1  
Run Code Online (Sandbox Code Playgroud)

所以最终的价值就是 1 Video|3 Phone|1 Basic|

有没有比写代码更好的方法来做到这一点:

    Case When Video > 0 and Internet+Phone+Security+Basic < 0 Then Video + ' Video|' 
    When Video > 0 and Internet > 0 and Phone+Security+Basic < 0 Then Video + ' Video|' + Internet + ' Internet|' 
    When Video > 0 and Phone > 0 and Internet+Security+Basic < 0 Then Video + ' Video|' + Phone + ' Phone|'
Run Code Online (Sandbox Code Playgroud)

等等,直到考虑到每个组合.

sql database sql-server concatenation

-1
推荐指数
1
解决办法
99
查看次数