除非手动打开文件并单击“保存”,否则我在使用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”;
任何帮助/建议表示赞赏!
谢谢!
史蒂文
我正在尝试找到一种方法来查找类似“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)
预期成绩
如果值大于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)
等等,直到考虑到每个组合.