用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

从数据库中获取SSIS包内容并解压缩查看其内容

2017-05-16 作者:小章举报

[c#]代码库

using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.IO.Compression;
using System.Text;
SqlConnection con = new SqlConnection("Data Source=(local);Initial Catalog=SSISDB;Integrated Security=True;");
            con.Open();
            SqlCommand cmd = new SqlCommand("[catalog].[get_project]", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@folder_name", SqlDbType.NVarChar).Value = "GCDF";
            cmd.Parameters.Add("@project_name", SqlDbType.NVarChar).Value = "GCDF_CLC";
            try
            {
                MemoryStream ms = new MemoryStream((byte[])cmd.ExecuteScalar());
                using (ZipArchive zip = new ZipArchive(ms))
                {
                    foreach (ZipArchiveEntry entry in zip.Entries)
                    {
                        if (Path.GetExtension(entry.FullName) == ".dtsx")
                        {
                            Stream s = entry.Open();
                            byte[] buffer = new byte[entry.Length];
                            int ret = s.Read(buffer, 0, (int)entry.Length);
                            if (ret > -1)
                            {
                                string content = Encoding.UTF8.GetString(buffer);
                            }
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                    con.Close();
            }


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。