• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    如何將數據導入到SQLServerCompactEdition數據庫中(五)

    來源:懂視網 責編:小采 時間:2020-11-09 15:44:45
    文檔

    如何將數據導入到SQLServerCompactEdition數據庫中(五)

    如何將數據導入到SQLServerCompactEdition數據庫中(五):系列文章導航: 如何將數據導入到 SQL Server Compact Edition 數據庫中(一) 如何將數據導入到 SQL Server Compact Edition 數據庫中(二) 如何將數據導入到 SQL Server Compact Edition 數據庫中(三) 如何將數據導入到 SQL Serv
    推薦度:
    導讀如何將數據導入到SQLServerCompactEdition數據庫中(五):系列文章導航: 如何將數據導入到 SQL Server Compact Edition 數據庫中(一) 如何將數據導入到 SQL Server Compact Edition 數據庫中(二) 如何將數據導入到 SQL Server Compact Edition 數據庫中(三) 如何將數據導入到 SQL Serv

    系列文章導航: 如何將數據導入到 SQL Server Compact Edition 數據庫中(一) 如何將數據導入到 SQL Server Compact Edition 數據庫中(二) 如何將數據導入到 SQL Server Compact Edition 數據庫中(三) 如何將數據導入到 SQL Server Compact Edition 數

    系列文章導航:
    如何將數據導入到 SQL Server Compact Edition 數據庫中(一)
    如何將數據導入到 SQL Server Compact Edition 數據庫中(二)
    如何將數據導入到 SQL Server Compact Edition 數據庫中(三)
    如何將數據導入到 SQL Server Compact Edition 數據庫中(四)

    摘要:在本系列文章中,我已經嘗試在 Windows 桌面平臺和 Windows Mobile 平臺上將數據導入到 SQL Server Compact Edition 數據庫中。不過,之前的示例程序都屬于 Windows 應用程序。本文將介紹如何在 ASP.NET Web 應用程序中實現 SQL Server Compact Edition 數據庫的生成和數據導入。

    一、創建 ASP.NET 版的數據導入程序

    1.使用 Visual Studio 2005 新建一個 Visual C# 版本的“ASP.NET Web 應用程序”項目,項目名稱為“CopyTableASPNET”。

    2.為新建的“CopyTableASPNET”項目添加對 System.Data.SqlServerCe.dll 程序集的引用,注意版本號是 9.0.242.0。這里特別聲明版本號是考慮到大家可能安裝了 Visual Studio 2008,它自帶了最新的 SQL Server Compact 3.5,版本號是 3.5.0.0,可能也會出現在添加引用對話框中。而本文的示例是針對 SQL Server 2005 Compact Edition (v3.1) 編寫的,程序集版本號為 9.0.242.0。

    3.在“解決方案資源管理器”打開 Default.aspx 頁面,默認顯示的是 HTML 代碼視圖,需要切換到設計視圖。從工具箱拖拽一個 Button 控件到頁面上,修改其 Text 屬性為“生成 SQL Server Compact 數據庫”。

    4.打開 Default.aspx 頁面的 C# 代碼編輯視圖,或者直接打開 Default.aspx.cs 文件。從本系列文章第四篇的示例代碼中,復制 From1.cs 文件的 GetTableNames, CopyTable, VerifyDatabaseExists, GenerateTableSchemaSql, GetSqlCeDataType 和 GetSqlCeNativeType 等方法到 Default.aspx.cs 文件中。

    5.回到 Default.aspx 頁面的設計視圖,用鼠標雙擊 Button 控件,此時會跳到 Default.aspx.cs 的代碼編輯視圖,并生成了 Button 控件的 Click 事件處理方法。將以下代碼復制到 Click 事件處理方法中:

    // 創建源 SQL Server 數據庫連接對象
    string srcConnString = "Data Source=(local);Initial Catalog=Northwind;Integrated Security=True";
    SqlConnection srcConnection = new SqlConnection(srcConnString);

    // 創建目標 SQL Server Compact Edition 數據庫連接對象
    string destConnString = string.Format("Data Source={0};", Server.MapPath("Northwind.sdf"));
    SqlCeConnection destConnection = new SqlCeConnection(destConnString);

    VerifyDatabaseExists(destConnString);

    srcConnection.Open();
    destConnection.Open();

    // 復制數據
    string[] tableNames = GetTableNames(srcConnection);
    string query;
    for (int i = 0; i < tableNames.Length; i++)
    {
    query = string.Format("SELECT * FROM [{0}]", tableNames[i]);
    CopyTable(srcConnection, destConnection, query, tableNames[i]);
    }

    srcConnection.Close();
    destConnection.Close();

    // 重定向到生成的 Northwind.sdf 文件的 url 地址(使瀏覽器提示下載)
    Response.Redirect("Northwind.sdf");

    這段代碼跟本系列文章第四篇的示例代碼非常相似,大家注意代碼中加亮的語句。

    6.數據導入的代碼已經編寫完成,現在可以生成項目,并在瀏覽器中查看 Default.aspx 頁面。

    出錯了!到底是什么原因呢?

    二、解鎖 SQL Server Compact Edition 對 ASP.NET 的支持

    我在《SQL Server精簡版支不支持ASP.NET?》曾經探討過這個問題。“當前 SQL Server Compact Edition 并未針對網站數據庫用途進行優化。默認情況下,在 SQL Server Compact Edition 中阻塞了來自 ASP.NET 應用程序的連接。SQL Server Compact Edition 經過優化后,可在應用程序中作為嵌入數據庫使用。使用 SQL Server Compact Edition 作為網站數據庫要求支持多用戶和并發數據更改。這可能會導致性能問題。因此,不支持這些情形。其他版本的 SQL Server 2005(包括 SQL Server 2005 Express Edition)經過優化后,也可作為網站數據庫使用。在使用 ASP.NET 創建 SQL Server Compact Edition 數據庫以實現同步操作的應用方案中,SQL Server Compact Edition 可與 ASP.NET 配合使用。使用下列代碼更改 SQL Server Compact Edition 的默認行為,以便與 ASP.NET 配合使用:AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)”——引自《SQL Server 2005 Compact Edition 聯機叢書》

    7.為了解決步驟6出現的錯誤,我在 Default.aspx 頁面上添加一個 CheckBox 控件 chkEnableSqlCe,并將它的 Text 屬性設置為“允許在 ASP.NET 使用 SQL Server Compact”。在 Default.aspx.cs 的 Page_Load 方法中添加以下代碼:

    if (chkEnableSqlCe.Checked)
    {
    AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);
    }
    else
    {
    AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", false);
    }

    8.重新編譯項目,并瀏覽 Default.aspx 頁面。頁面加載完成后,選中“允許在 ASP.NET 使用 SQL Server Compact”檢查框,再點擊“生成 SQL Server Compact 數據庫”按鈕。此時,Default.aspx 頁面將在后臺生成 SQL Server Compact Edition 數據庫文件 Northwind.sdf,并從 SQL Server 服務器的 Northwind 數據庫導入數據,最后將提示您下載 Northwind.sdf 文件。

    三、總結

    在很多場景中,我們可以使用 ASP.NET 根據各種條件在服務器端快速生成 SQL Server Compact Edition 數據庫文件(.sdf),并從數據庫服務器導入初始數據,再將動態生成的數據庫文件提供給客戶端程序下載。這樣可以加速和簡化 Windows Mobile 應用程序初始化本地數據庫的過程,因為只需要傳輸文件而不需要進行復雜的數據同步。本文介紹的方案并沒有結束,實際上 SQL Server Compact Edition 數據庫文件的壓縮率是很高的。例如:本文的示例代碼生成的 Northwind.sdf 文件是 788 KB,經過 ZIP 標準壓縮后生成的 Northwind.zip 文件是 228 KB。為了減少數據傳輸流量,同時也是為了節約時間,我們還可以對生成的數據庫文件進行壓縮后,再提供給客戶端下載,客戶端再對文件進行解壓縮。

    示例代碼下載:sqlce_data_import5.rar

    作者:黎波
    博客:http://upto.cnblogs.com/
    日期:2008年3月5日

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

    文檔

    如何將數據導入到SQLServerCompactEdition數據庫中(五)

    如何將數據導入到SQLServerCompactEdition數據庫中(五):系列文章導航: 如何將數據導入到 SQL Server Compact Edition 數據庫中(一) 如何將數據導入到 SQL Server Compact Edition 數據庫中(二) 如何將數據導入到 SQL Server Compact Edition 數據庫中(三) 如何將數據導入到 SQL Serv
    推薦度:
    標簽: 數據 導入 如何
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产伦精品免编号公布| 国产精品自在线拍国产第一页 | 精品国产福利一区二区| 99久久精品国产一区二区| 亚洲精品夜夜夜妓女网| 国产精品熟女福利久久AV| 国产精品成人不卡在线观看| 无码人妻精品一区二区三18禁| 久久97久久97精品免视看秋霞| 五月花精品视频在线观看| 91麻豆精品国产| 日韩精品内射视频免费观看| 久久夜色精品国产| 国产精品免费一区二区三区| 精品久久久久久久| 国产在线精品一区二区在线观看| 在线精品动漫一区二区无广告| 久久精品18| 国产三级精品三级在线观看专1 | 国产精品天天影视久久综合网 | 亚洲国产精品嫩草影院| 国内揄拍高清国内精品对白| 亚洲精品国精品久久99热一| 亚洲国产精品成人一区| 久久亚洲国产精品123区 | 四虎国产精品永久地址99新强| 国产成人精品优优av| 日韩精品专区在线影院重磅| 中文字幕日韩精品有码视频| 少妇亚洲免费精品| 久久精品国产第一区二区| 国产精品一区二区av不卡| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲国产成人精品无码区在线观看 | 2022精品国偷自产免费观看| 欧美巨大黑人精品videos| 国产精品视频分类一区| 国产精品久久网| 国产精品一区二区久久精品| 国产精品91av| 香蕉国产精品频视|