一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

使用SMO程序化生成SQL Server表數據

 小世界的野孩子 2022-04-02

作為ETL的一部分,有時候就是需要把數據的Insert腳本生成出來,然后人肉拷貝到另一個地方執(zhí)行。

熟悉SMSS的同學們都知道,有個生成腳本的任務,可以生成數據庫的create腳本啊什么的,其實也能夠生產表中的數據。

自動化的ETL總不能連導出數據都人肉。。。一是容易出錯,二是太low了。

C#控制臺代碼可以搞定這些,直接上代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management; 
using Microsoft.SqlServer.Management.Sdk.Sfc;  

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String todayDate = DateTime.Now.Day + "_" + DateTime.Now.Month + "_" + DateTime.Now.Year;
            String backupDirectory = "1a:\\DBBackup\\";
            String backupFileName = backupDirectory + todayDate + ".sql";
            if (File.Exists(backupFileName))
            {

                File.Delete(backupFileName);

            }
            StreamWriter sw = File.CreateText(backupFileName);


            Console.WriteLine(backupFileName);
            Console.ReadKey();            
            Console.WriteLine("hello!");


            //Console.ReadLine();
            String dbName = "2oy"; // database name   
            Server srv = new Server("3lba1");

            // Reference the database.    
            Database db = srv.Databases[dbName];

            // Define a Scripter object and set the required scripting options.   
            Scripter scrp = new Scripter(srv);
           
            scrp.Options.ScriptSchema = false;
            scrp.Options.ScriptDrops = false;
            scrp.Options.WithDependencies = false;
            scrp.Options.Indexes = false;   // To include indexes  
            scrp.Options.DriAllConstraints = false;   // to include referential constraints in the script  
            scrp.Options.ScriptData = true; //Data include!!!!!!

            
        

            //Iterate through the tables in database and script each one.

            foreach (Table tb in db.Tables)
            {

                if (!tb.IsSystemObject)
                {

                    foreach (string s in scrp.EnumScript(new Urn[] { tb.Urn }))
                    {

                        sw.WriteLine(s);

                        sw.Flush();

                    }

                }

            }


            /*
             * 此方法不能生成帶數據的腳本,但是可以生成schema腳本
            foreach (Table tb in db.Tables)
            {
                System.Collections.Specialized.StringCollection sc = scrp.Script(new Urn[]{tb.Urn}); 

                foreach (string st in sc)
                {
                    Console.WriteLine(st);
                }
                Console.WriteLine("--");

            }
             */
             
        }
    }
}

 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产在线一区二区三区不卡| 视频一区日韩经典中文字幕| 精品人妻精品一区二区三区| 免费观看日韩一级黄色大片| 国产精品免费无遮挡不卡视频| 国产一区二区三区色噜噜| 欧美又黑又粗大又硬又爽| 91播色在线免费播放| 日韩高清一区二区三区四区| 亚洲一区二区欧美激情| 午夜精品成年人免费视频| 美女被草的视频在线观看| 免费久久一级欧美特大黄孕妇| 国产成人av在线免播放观看av| 黄色污污在线免费观看| 一个人的久久精彩视频| 日本在线不卡高清欧美| 国产又粗又猛又大爽又黄同志| 福利视频一区二区在线| 国产又大又硬又粗又湿| 激情亚洲一区国产精品久久| 黄片在线观看一区二区三区| 日本一区不卡在线观看| 亚洲精品熟女国产多毛 | 日本一品道在线免费观看| 国产精品欧美激情在线观看| 男人和女人草逼免费视频| 久久本道综合色狠狠五月| 国产精品内射视频免费| 日本欧美三级中文字幕| 欧美色婷婷综合狠狠爱| 日本加勒比系列在线播放| 日韩人妻一区二区欧美| 色综合视频一区二区观看| 国产精品美女午夜视频| 夫妻性生活一级黄色录像| 国产原创激情一区二区三区| 亚洲中文字幕在线观看四区| 久久永久免费一区二区| 又大又长又粗又猛国产精品| 国产伦精品一区二区三区高清版 |