<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net下將純真IP數(shù)據(jù)導入數(shù)據(jù)庫中的代碼

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:42:55
        文檔

        asp.net下將純真IP數(shù)據(jù)導入數(shù)據(jù)庫中的代碼

        asp.net下將純真IP數(shù)據(jù)導入數(shù)據(jù)庫中的代碼:純真IP數(shù)據(jù)包含381085條,可以通過下載的查詢軟件將數(shù)據(jù)解壓為文本格式,并將其編碼改為UTF8,否則在程序中讀取中文會亂碼! 下面為程序執(zhí)行分析IP數(shù)據(jù)并插入到Sql Server的截圖:程序通過AJAX在客戶端進行數(shù)據(jù)插入實時更新: 實現(xiàn)代碼如下:前端頁面及javasc
        推薦度:
        導讀asp.net下將純真IP數(shù)據(jù)導入數(shù)據(jù)庫中的代碼:純真IP數(shù)據(jù)包含381085條,可以通過下載的查詢軟件將數(shù)據(jù)解壓為文本格式,并將其編碼改為UTF8,否則在程序中讀取中文會亂碼! 下面為程序執(zhí)行分析IP數(shù)據(jù)并插入到Sql Server的截圖:程序通過AJAX在客戶端進行數(shù)據(jù)插入實時更新: 實現(xiàn)代碼如下:前端頁面及javasc

        純真IP數(shù)據(jù)包含381085條,可以通過下載的查詢軟件將數(shù)據(jù)解壓為文本格式,并將其編碼改為UTF8,否則在程序中讀取中文會亂碼!
        下面為程序執(zhí)行分析IP數(shù)據(jù)并插入到Sql Server的截圖:


        程序通過AJAX在客戶端進行數(shù)據(jù)插入實時更新:
        實現(xiàn)代碼如下:


        前端頁面及javascript:
        代碼如下:

        <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
        <html xmlns=”http://www.w3.org/1999/xhtml” >
        <head>
        <title>導入IP地址數(shù)據(jù)庫-power by blog.atnet.cc</title>
        <style type=”text/css”>
        body{font-size:14px;}
        #log{border:solid 1px gold;width:400px;height:100px;padding:10px;background:gold;margin-bottom:15px;color:black;}
        #recordLog{font-size:12px;}
        </style>
        <script type=”text/javascript” src=”/scripts/global.js”></script>
        <script type=”text/javascript”>
        var log,reLog; //Log,RecordLog
        var recordCount; //IP記錄總數(shù)
        window.onload=function(){
        log=document.getElementById(“l(fā)og”);
        }
        function startImport(){
        if(!document.getElementById(“submit_ifr”)){
        var elem=document.createElement(“iframe”);
        elem.setAttribute(“id”,”submit_ifr”);
        elem.setAttribute(“name”,”ifr”);
        elem.style.cssText=”display:none”;
        document.body.appendChild(elem);
        document.forms[0].target=elem.name;
        }
        document.forms[0].submit();
        log.innerHTML=”正在上傳數(shù)據(jù)!<br />”;
        return false;
        }

        function insertIP(){
        log.innerHTML+=”開始分析數(shù)據(jù)…<br />”;
        j.ajax.post(“/do.ashx?args=ImportIPData&action=init”,”",
        function(x){
        var d=eval(x)[0];
        recordCount=d.count;
        log.innerHTML+=”<font color=green>分析數(shù)據(jù)成功:<br />服務器地址:”+
        d.server+”,記錄:”+recordCount+”條!<br /><div id='recordLog'></div>”;
        //開始插入
        insert();
        },
        function(x){log.innerHTML+=”<font color=red>發(fā)生異常,已終止!</font>”;}
        );
        }
        function insert(){
        if(!reLog)reLog=document.getElementById(“recordLog”);
        var num=Math.floor(Math.random()*100);
        j.ajax.post(“/do.ashx?args=ImportIPData&action=insert”,”num=”+num,
        function(x){var d=eval(x)[0];reLog.innerHTML=”已經(jīng)寫入數(shù)據(jù):”+(recordCount-d.count)+
        “條,隊列:”+d.count+”條,本次寫入:”+d.insertNum+”條”;
        if(d.count!=0){insert();}
        else{reLog.innerHTML=”恭喜,寫入完畢!”;}
        },function(x){alert(x);});
        }
        </script>
        </head>
        <body>
        <div style=”margin:60px 100px”>
        <div id=”log”>請?zhí)顚懴嚓P數(shù)據(jù),選擇IP數(shù)據(jù)文件!</div>
        <form action=”/do.ashx?args=ImportIPData” method=”post” enctype=”multipart/form-data” target=”ifr”>
        數(shù)據(jù)庫IP:<input type=”text” name=”dbserver” value=”.” /><br />
        數(shù)據(jù)庫名:<input type=”text” name=”dbname” value=”tp” /><br />
        數(shù)據(jù)表名:<input type=”text” name=”tbname” value=”ip” /><br />
        用  戶  名:<input type=”text” name=”dbuid” value=”sa” /><br />
        密      碼<input type=”password” name=”dbpwd” value=”123000″ /><br />
        IP文件:<input type=”file” name=”ipfile” value=”C:\Users\cwliu\Desktop\1.txt” /><br />
        <button onclick=”return startImport();”>導入</button>
        </form>
        </div>
        </body>
        </html>

        注:j為一個自定義的javascript類庫,中間包含了ajax功能的代碼
        后臺程序我們用來接收ajax發(fā)送的Post 請求:
        代碼如下:

        代碼如下:

        File:do.ashx?args=ImportIPData
        public void ProcessRequest(HttpContext context)
        {
        if (context.Request.RequestType == “POST”)
        {
        string action = context.Request["action"];
        //提交IP數(shù)據(jù)
        if (string.IsNullOrEmpty(action) || action == “submit”)
        {
        string dbserver = context.Request["dbserver"], tbname = context.Request["tbname"];
        StringBuilder sb = new StringBuilder(500);
        sb.Append(“server=”).Append(dbserver).Append(“;database=”).Append(context.Request["dbname"])
        .Append(“;uid=”).Append(context.Request["dbuid"]).Append(“;pwd=”).Append(context.Request["dbpwd"]);
        //保存數(shù)據(jù)庫連接字符串及數(shù)據(jù)表名
        HttpContext.Current.Session["ip_dbconnstring"] = sb.ToString();
        HttpContext.Current.Session["ip_tablename"] = tbname;
        //讀取IP數(shù)據(jù)并緩存
        IList<string> ipList = new List<string>();
        HttpPostedFile file = context.Request.Files[0];
        using (StreamReader sr = new StreamReader(file.InputStream, Encoding.UTF8))
        {
        while (sr.Peek() != -1)
        {
        ipList.Add(Regex.Replace(sr.ReadLine(), “\\s{2,}”, ” “));
        }
        }
        HttpRuntime.Cache.Insert(“ip_data”, ipList);
        //想客戶端發(fā)送數(shù)據(jù)信息(Json格式)
        sb.Remove(0, sb.Length);
        sb.Append(“[{server:'").Append(dbserver) //服務器地址
        .Append("',count:'").Append(ipList.Count) //IP條數(shù)
        .Append("',insertNum:0") //本次插入條數(shù)
        .Append(",taskNum:0") //任務隊列條數(shù)
        .Append("}]“);
        context.Session["ip_info"] = sb.ToString();
        //觸發(fā)父頁面開始插入數(shù)據(jù)
        context.Response.Write(“<script>window.parent.insertIP();</script>”);
        }
        else
        {
        using (SqlConnection conn = new SqlConnection(context.Session["ip_dbconnstring"] as string))
        {
        string tbname = context.Session["ip_tablename"] as string;
        //初始化,建表并返回信息
        if (action == “init”)
        {
        SqlCommand cmd = new SqlCommand(“if not exists(select * from sysobjects where [name]='” + tbname +
        “‘ and xtype='u')BEGIN CREATE TABLE ” + tbname + “(id BIGINT PRIMARY KEY IDENTITY(1,1),sip NVARCHAR(15),eip NVARCHAR(15),area NVARCHAR(80),[name] NVARCHAR(80))END”, conn);
        conn.Open();
        cmd.ExecuteNonQuery();
        context.Response.Write(context.Session["ip_info"]);
        }
        //插入數(shù)據(jù)
        else if (action == “insert”)
        {
        IList<string> ipList = HttpRuntime.Cache["ip_data"] as IList<string>;
        StringBuilder sb = new StringBuilder(400);
        //默認每次插入300條
        int insertNum;
        int.TryParse(context.Request["num"], out insertNum);
        if (insertNum < 1) insertNum = 300;
        SqlCommand cmd = new SqlCommand();
        cmd.Parameters.AddRange(
        new SqlParameter[]{
        new SqlParameter(“@sip”,null),
        new SqlParameter(“@eip”,null),
        new SqlParameter(“@area”,null),
        new SqlParameter(“@name”,null)
        });
        cmd.Connection = conn;
        conn.Open();
        string[] arr;
        for (var i = 0; i <= insertNum && i < ipList.Count; i++)
        {
        arr = ipList[i].Split(‘ ‘);
        cmd.CommandText = “if not exists(select id from ” + tbname +
        ” where sip='”+arr[0]+”‘a(chǎn)nd eip='”+arr[1]+”‘) INSERT INTO ” + tbname +
        ” values(@sip,@eip,@area,@name)”;
        cmd.Parameters["@sip"].Value = arr[0];
        cmd.Parameters["@eip"].Value = arr[1];
        cmd.Parameters["@area"].Value = arr[2];
        cmd.Parameters["@name"].Value =arr.Length>=4?arr[3]:”";
        sb.Remove(0, sb.Length);
        cmd.ExecuteNonQuery();
        ipList.Remove(ipList[i]);
        }
        sb.Remove(0, sb.Length);
        sb.Append(“[{count:").Append(ipList.Count) //未插入IP的條數(shù)
        .Append(",insertNum:").Append(insertNum)
        .Append("}]“);
        context.Response.Write(sb.ToString());
        }
        }
        }
        }
        }
        }

        當處理上面的代碼之后IP數(shù)據(jù)將添加到你的數(shù)據(jù)庫中!總數(shù)是38萬條添加時間在1個小時左右!
        寫入到數(shù)據(jù)庫后的截圖如下:

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net下將純真IP數(shù)據(jù)導入數(shù)據(jù)庫中的代碼

        asp.net下將純真IP數(shù)據(jù)導入數(shù)據(jù)庫中的代碼:純真IP數(shù)據(jù)包含381085條,可以通過下載的查詢軟件將數(shù)據(jù)解壓為文本格式,并將其編碼改為UTF8,否則在程序中讀取中文會亂碼! 下面為程序執(zhí)行分析IP數(shù)據(jù)并插入到Sql Server的截圖:程序通過AJAX在客戶端進行數(shù)據(jù)插入實時更新: 實現(xiàn)代碼如下:前端頁面及javasc
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲成AV人片天堂网无码| 免费爱爱的视频太爽了| 亚洲日本一区二区三区在线| 自拍偷自拍亚洲精品偷一| 麻豆国产精品入口免费观看| 四虎必出精品亚洲高清| 青青草国产免费久久久91| 亚洲欧美国产欧美色欲| 国产美女a做受大片免费| 男男gay做爽爽的视频免费| 免费大黄网站在线看| 成人毛片100免费观看| 亚洲gv白嫩小受在线观看| 8090在线观看免费观看| 亚洲视频在线免费播放| 亚洲色一区二区三区四区| 国产又粗又猛又爽又黄的免费视频| 免费在线观看亚洲| 亚洲精品卡2卡3卡4卡5卡区| 久久久久久影院久久久久免费精品国产小说 | 区三区激情福利综合中文字幕在线一区亚洲视频1 | 四虎国产精品免费永久在线| 亚洲av日韩av高潮潮喷无码| 亚洲综合免费视频| 精品国产日韩亚洲一区在线| 狠狠亚洲婷婷综合色香五月排名| 成在人线av无码免费高潮喷水| 亚洲精品视频观看| 国产男女猛烈无遮挡免费网站| 毛片基地看看成人免费| 久久亚洲国产精品成人AV秋霞| 扒开双腿猛进入爽爽免费视频| 香蕉视频在线观看免费| 亚洲成a人片在线观看中文动漫| 一个人免费高清在线观看 | 亚洲中文字幕AV每天更新| 内射无码专区久久亚洲| 久久精品无码专区免费青青| 亚洲爆乳无码精品AAA片蜜桃| 精品久久久久久亚洲| 国产在线观看免费观看不卡|