`
sogotobj
  • 浏览: 656603 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

利用.NET中的 OleDb对象,将数据库中全部表转换成XML文件

阅读更多
利用.NET中的OleDb对象,将数据库中全部表转换成XML文件
作者:孟宪会出自:【孟宪会之精彩世界】

C#版本:

<%@ Page Language="C#" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
TextBox1.Text = "PROVIDER=SQLOLEDB; Data Source=.; Initial Catalog=pubs;User ID=sa;Password=;";
Label1.Text = "";
}
}
void CreateXml(object sender, EventArgs e) {
OleDbConnection dataConn = new OleDbConnection(TextBox1.Text);
Uri Path = Request.Url;
String ServerUrl = Path.ToString();
ServerUrl = ServerUrl.Substring(0,ServerUrl.LastIndexOf("/") +1 );
try {
Literal1.Text = "已经在你的相同目录下创建了一下文件:<br/>" ;
dataConn.Open();
DataTable schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"});
for(int I = 0; I < schemaTable.Rows.Count; I++){
OleDbDataAdapter dbAdapter= new OleDbDataAdapter("select * from [" + schemaTable.Rows[I].ItemArray[2].ToString() + "]",dataConn);
DataSet tableData = new DataSet();
dbAdapter.Fill(tableData,schemaTable.Rows[I].ItemArray[2].ToString());
tableData.WriteXml(HttpContext.Current.Server.MapPath(schemaTable.Rows[I].ItemArray[2].ToString() + ".xml"));
Literal1.Text = Literal1.Text + "<a href='" + ServerUrl + schemaTable.Rows[I].ItemArray[2].ToString() + ".xml'>" + schemaTable.Rows[I].ItemArray[2].ToString() + ".xml</a><br/>";
}
}
catch(Exception ex) {
Label1.Text = ex.Message.ToString();
}
finally {
dataConn.Close();
}
}
</script>
<html>
<head>
<title>leDb2XML:数据库转换成XML文件例子</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h2><font face="宋体">OleDb2XML:数据库转换成XML文件例子</font>
</h2>
</center>
<form runat="server">
<font face="宋体">
<p align="center">请输入OleDb连接字符串,然后点“生成XML文件”按钮。</p>
<p align="center">
<asp:TextBox id="TextBox1" runat="server" Width="600"></asp:TextBox>
</p>
<p align="center">
<asp:Button id="Button1" onclick="CreateXml" runat="server" Text="生成XML文件"></asp:Button>
</p>
<p align="center">
<asp:Label id="Label1" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label>
</p>
<p align="center">
<asp:Literal id="Literal1" runat="server"></asp:Literal>
</p>
</font>
</form>
</body>
</html>

VB.NET版本:

<%@ Page Language="VB" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">

Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
TextBox1.Text = "Provider=SqlOLEDB; Data Source=.; Initial Catalog=pubs;User ID=sa;Password=;"
Label1.Text = ""
End If
End Sub

Sub CreateXml(sender As Object, e As EventArgs)
Dim dataConn As New OleDbConnection(TextBox1.Text)
Dim Path As Uri = Request.Url
Dim ServerUrl As String = Path.ToString()
ServerUrl = ServerUrl.Substring(0,ServerUrl.LastIndexOf("/") + 1 )
Try
Literal1.Text = "已经在你的相同目录下创建了一下文件:<br/>"
dataConn.Open()
Dim schemaTable As DataTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
Dim I As Integer
For I = 0 To schemaTable.Rows.Count - 1
Dim dbAdapter As New OleDbDataAdapter("select * from [" + schemaTable.Rows(I).ItemArray(2).ToString() + "]", dataConn)
Dim tableData As New DataSet()
dbAdapter.Fill(tableData, schemaTable.Rows(I).ItemArray(2).ToString())
tableData.WriteXml(HttpContext.Current.Server.MapPath((schemaTable.Rows(I).ItemArray(2).ToString() + ".xml")))
Literal1.Text = Literal1.Text + "<a href='" + ServerUrl + schemaTable.Rows(I).ItemArray(2).ToString() + ".xml'>" + schemaTable.Rows(I).ItemArray(2).ToString() + ".xml</a><br/>"
Next I
Catch ex As Exception
Label1.Text = ex.Message.ToString()
Finally
dataConn.Close()
End Try
End Sub

</script>

<html>
<head>
<title>leDb2XML:数据库转换成XML文件例子</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h2><font face="宋体">OleDb2XML:数据库转换成XML文件例子</font>
</h2>
</center>
<form runat="server">
<font face="宋体">
<p align="center">请输入OleDb连接字符串,然后点“生成XML文件”按钮。</p>
<p align="center">
<asp:TextBox id="TextBox1" runat="server" Width="600"></asp:TextBox>
</p>
<p align="center">
<asp:Button id="Button1" onclick="CreateXml" runat="server" Text="生成XML文件"></asp:Button>
</p>
<p align="center">
<asp:Label id="Label1" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label>
</p>
<p align="center">
<asp:Literal id="Literal1" runat="server"></asp:Literal>
</p>
</font>
</form>
</body>
</html>

对于数据量大的数据库,处理可能会需要更多的时间,因此有可能需要更改machine.config文件中processModel的responseDeadlockInterval 属性,比如为5分钟,默认为3分钟。

<processModel
    enable="true"
    timeout="Infinite"
    idleTimeout="Infinite"
    shutdownTimeout="0:00:05"
    requestLimit="Infinite"
    requestQueueLimit="5000"
    restartQueueLimit="10"
    memoryLimit="60"
    webGarden="false"
    cpuMask="0xffffffff"
    userName="machine"
    password="AutoGenerate"
    logLevel="Errors"
    clientConnectedCheck="0:00:05"
    comAuthenticationLevel="Connect"
    comImpersonationLevel="Impersonate"
    responseRestartDeadlockInterval="00:09:00"
    responseDeadlockInterval="00:05:00" default is 00:03:00
    maxWorkerThreads="25"
    maxIoThreads="25" />
分享到:
评论

相关推荐

    OLEDB数据库转换到SQLite数据库

    本主题主要关注的是如何将数据从OLEDB数据库转换到SQLite数据库。OLEDB(Object Linking and Embedding, Database)是一种由Microsoft开发的技术,它允许应用程序访问各种数据源,而SQLite则是一个开源、轻量级的...

    Microsoft OLE DB Provider for Visual FoxPro 9.0

    OLE DB(Object Linking and Embedding, Database)是微软提供的一种统一的数据访问接口标准,支持多种数据源,包括关系型数据库、文件系统、XML文档等。它为应用程序提供了访问各种数据存储系统的能力,而无需关心...

    ADO.NET 认证题库 与SQL2000数据库相关

    - **从DataSet读取XML格式的数据**:通过这种方式可以轻松地将XML数据转换为内存中的数据结构。 - **使用XML格式的数据填充DataSet**:这使得可以在不知道具体数据结构的情况下处理数据。 - **为DataSet创建XML格式...

    ASP.NET读取XML文件4种方法

    ### ASP.NET读取XML文件4种...- **DataSet**:适用于将XML文件转换为数据库表结构的场景。 - **XML Text Reader**:适用于读取大型XML文件的场景。 根据具体的需求选择合适的方法,可以提高开发效率,降低资源消耗。

    access数据文件向xml转化文件

    1. **连接Access数据库**:使用ADO.NET(ActiveX Data Objects .NET)组件,如System.Data.OleDb命名空间下的OleDbConnection类,建立与Access数据库的连接。需要提供正确的数据库路径和连接字符串。 2. **查询数据...

    postgreSQL数据库通过ADO访问所需OLE驱动

    OLE DB是一种标准的接口,允许应用程序通过统一的方式访问各种数据源,包括关系数据库、文件系统、XML文档等。通过PgOleDb,开发者可以使用ADO的语法和对象,如Connection、Command、Recordset等,来执行SQL查询、...

    ADO.Net关于数据库的实践

    随后,OLE DB(对象链接与嵌入数据库)应运而生,作为一种更为通用的接口,不仅覆盖了关系型数据库,还扩展到了非关系型数据源,如文件系统、邮件等,极大提升了数据访问的灵活性和效率。 尽管OLE DB解决了多种数据...

    asp.net c # 将数据导出到xml,并从xml导入数据

    根据给定的信息,本文将详细解释如何在ASP.NET与C#环境下使用ADO.NET技术实现数据与XML文件之间的导入与导出操作。此过程涉及到ADO.NET中的`DataSet`对象及其相关属性与方法、XML序列化机制以及如何通过编程手段管理...

    ADO.NET程序设计模拟题

    .NET Framework包含了多种数据提供程序,如SQL Server .NET数据提供程序用于连接SQL Server,OLE DB .NET数据提供程序用于连接多种数据源,而ODBC .NET数据提供程序则用于通过ODBC接口访问数据库。XML .NET数据提供...

    ADO.net数据库开发

    - 存储机制:ADO的Recordset对象通常代表单一表,而ADO.NET的DataSet对象可以包含多个DataTable,模拟了数据库中的多表关系。 - 在线与离线:ADO的Recordset需要实时保持与数据库的连接,而ADO.NET的DataSet可以在...

    ASP.NET XML和TreeView操作

    "用Xml2OleDb将XML文件插入到数据库"这部分可能涉及到将XML数据导入到关系数据库中,例如SQL Server。这通常通过XML的DOM模型解析XML,然后将数据插入到对应的数据库表中。Xml2OleDb可能是一个自定义的工具或函数,...

    《数据库访问技术—ADO.NET 程序设计》模拟题1.doc

    在.NET Framework中,包含了多种.NET数据提供程序,如SQL Server .NET数据提供程序、OLE DB .NET数据提供程序和ODBC .NET数据提供程序,分别用于与SQL Server、各种OLE DB兼容的数据库(如Access)和ODBC数据源...

    计算机软件-商业源码-三层数据库OLE与对象互换.zip

    2. 对象序列化与反序列化:使用如JSON、XML或自定义格式将业务对象转换为字符串,便于在网络或数据库中传输,然后在需要时恢复为对象形式。 3. OLE数据绑定:在用户界面中,利用OLE技术将数据库字段绑定到控件,实现...

    asp.net 导入Excel文件

    下面将详细介绍如何在ASP.NET中实现Excel文件的导入。 首先,我们需要了解ASP.NET中的文件上传机制。用户通过浏览器上传Excel文件时,会触发HTTP POST请求,包含选择的文件。在服务器端,我们可以通过`...

    .net文献 英文原文+中文翻译(1万字)

    6. XML支持:ADO.NET与XML紧密集成,可以通过XmlDataDocument对象将数据集的内容转换为XML,或者从XML数据创建数据集。这使得数据能够在不同的应用程序之间轻松交换。 二、ADO.NET的概述 1. 连接管理:ADO.NET提供...

    .NET Windows编程系列课程(20):ADO.NET2.0 XML操作

    1. **XML数据源**:ADO.NET 2.0通过`System.Data.SqlClient.SqlDataReader`和`System.Data.OleDb.OleDbDataReader`等类支持从XML文件或字符串中读取数据。`XmlDataReader`是一个轻量级、只向前的读取器,用于高效地...

    ADO.NET 教程

    使用 ADO.NET 可以将数据集转换为 XML,并将 XML 转换为数据集。 ADO.NET 的数据提供程序 ------------------------- ADO.NET 提供了多种数据提供程序,包括: * SQL Server .NET 数据提供程序 * OLE DB .NET ...

    ADO.NET微软认证

    5. ADO.NET对XML的支持允许数据在DataSet和XML之间无缝转换。可以使用XML数据填充DataSet,从DataSet读取XML,甚至可以创建XML架构描述以定义DataSet的结构。 6. .NET Framework提供了多种数据提供程序,包括SQL ...

    ADO.NET技术及相关数据库类的介绍

    - **定义**: ADO.NET是一组面向对象的类库,用于访问各种数据源,包括但不限于数据库、文本文件、Excel表格和XML文件。 - **特点**: ADO.NET的设计充分考虑了XML的支持以及离线数据处理的需求,特别适用于Web环境。 ...

Global site tag (gtag.js) - Google Analytics