我有一个复杂的查询,它使用大量的二进制校验和函数,当我用两个不同记录的一些测试数据对其进行测试时,实际上返回了相同的校验和值。请在下面找到我使用的测试数据
SELECT BINARY_CHECKSUM(16 ,'EP30461105',1) AS BinaryCheckSumEx UNION ALL
SELECT BINARY_CHECKSUM(21 ,'EP30461155',1) AS BinaryCheckSumEx
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试将HASHBYTES函数与“ MD5”算法一起使用,可以肯定地为其获取唯一记录,但是现在让我担心的是,在当前查询中,我使用“校验和”值来加入“合并”语句寻找新记录。由于“ HashBytes”返回我Varbinary数据类型,所以当我用“ HashByte”字段替换联接条件时,可以期望多少性能开销。
SELECT HASHBYTES('MD5', CONCAT(Col1,Col2,Col3,Col4,..))
Run Code Online (Sandbox Code Playgroud)
而且,我需要为多个列创建哈希,在这种情况下,我需要具有一个额外的Concat函数,这会对我的性能产生额外的开销。
我有一个包,它使用 WinSCP 从 FTP 下载文件,当我在本地执行它时,它运行得很好。但是当我们从 SSIS 数据库目录的已部署版本运行时,我们遇到了问题。已为 .dll 文件完成 GAC 注册。
下面是我们得到的错误。

更新

这是我的要求,我需要从受密码保护的压缩文件中提取文件.我想知道是否有任何代码片段可用.我正在使用SSIS从FTP下载这些压缩文件.是否有我可以使用的4.5框架的最新更新.
更新:
我现在已经引用了该文件并尝试了一个示例,但现在我得到了一个例外,我甚至尝试在我的脚本任务中添加一个断点,但我得到的只是一个例外.
例外:
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
Run Code Online (Sandbox Code Playgroud)
快照:

码:
try
{
string zipfilePath = @"C:\ZipFiles";
string zipPassword = "qwerty";
using (ZipFile zip = new ZipFile())
{
zip.Password = zipPassword;
zip.AddFile("File-01.txt");
zip.AddFile("File-02.txt");
zip.AddFile("File-03.txt");
zip.AddFile("File-04.txt");
zip.Save(zipfilePath + "AllFiles.zip");
} …Run Code Online (Sandbox Code Playgroud) 我有一个特定的方案,根据特定的格式将结果集中的数据分组.以下是我的数据的样子.
--------------------------------
ID Value
--------------------------------
1 2
2 1
3 1
4 3
5 1
6 1
7 6
8 9
9 1
10 1
Run Code Online (Sandbox Code Playgroud)
我需要根据'Value'列对结果集值进行分组.要从非'1'的第一个实例到最后一个'1'的实例进行分组的数据.个人非'1'需要有自己的组值.我的预期结果应该是这样的.
------------------------------------
ID Value Group
------------------------------------
1 2 Group1
2 1 Group1
3 1 Group1
4 3 Group2
5 1 Group2
6 1 Group2
7 6 Group3
8 9 Group4
9 1 Group4
10 1 Group4
Run Code Online (Sandbox Code Playgroud) sql ×2
ssis ×2
.net-4.5 ×1
c# ×1
checksum ×1
dotnetzip ×1
gac ×1
group-by ×1
hashbytes ×1
script-task ×1
sql-server ×1
winscp ×1
winscp-net ×1