`
zhangziyueup
  • 浏览: 1202155 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

ASP.NET Dataset让你在页面中使用XML格式的文件提供了便利。如果您的数据全部都在一个数据库中,该如何进行转换呢?如果你的数据库与OleDb兼容的话,下面就看看如何把数据库中的所有表转换成XML文件。文件名字与数据库中的表的名字相同。本代码包含两个版本:C#版本和VB.NET版本。

C#版本:[测试]

<xmp style="BORDER-RIGHT: #ff9801 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ff9801 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #ff9801 1px solid; WORD-BREAK: break-all; PADDING-TOP: 10px; BORDER-BOTTOM: #ff9801 1px solid; BACKGROUND-COLOR: #ffd780">&lt;%@ Page Language="C#" %&gt; &lt;%@ import Namespace="System" %&gt; &lt;%@ import Namespace="System.Data" %&gt; &lt;%@ import Namespace="System.Data.OleDb" %&gt; &lt;script runat="server"&gt; 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 = "已经在你的相同目录下创建了一下文件:&lt;br/&gt;" ; dataConn.Open(); DataTable schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"}); for(int i = 0; i &lt; 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 + "&lt;a href='" + ServerUrl + schemaTable.Rows[i].ItemArray[2].ToString() + ".xml'&gt;"; Literal1.Text = Literal1.Text + schemaTable.Rows[i].ItemArray[2].ToString() + ".xml&lt;/a&gt;&lt;br/&gt;"; } } catch(Exception ex) { Label1.Text = ex.Message.ToString(); } finally { dataConn.Close(); } } &lt;/script&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;leDb2XML:数据库转换成XML文件例子&lt;/title&gt; &lt;/head&gt; &lt;body bgcolor="#FFFFFF"&gt; &lt;center&gt; &lt;h2&gt;&lt;font face="宋体"&gt;OleDb2XML:数据库转换成XML文件例子&lt;/font&gt; &lt;/h2&gt; &lt;/center&gt; &lt;form runat="server" ID="Form1"&gt; &lt;font face="宋体"&gt; &lt;p align="center"&gt;请输入OleDb连接字符串,然后点“生成XML文件”按钮。&lt;/p&gt; &lt;p align="center"&gt; &lt;asp:TextBox id="TextBox1" runat="server" Width="600"&gt;&lt;/asp:TextBox&gt; &lt;/p&gt; &lt;p align="center"&gt; &lt;asp:Button id="Button1" onclick="CreateXml" runat="server" Text="生成XML文件"&gt;&lt;/asp:Button&gt; &lt;/p&gt; &lt;p align="center"&gt; &lt;asp:Label id="Label1" runat="server" Font-Bold="True" ForeColor="Red"&gt;&lt;/asp:Label&gt; &lt;/p&gt; &lt;p align="center"&gt; &lt;asp:Literal id="Literal1" runat="server"&gt;&lt;/asp:Literal&gt; &lt;/p&gt; &lt;/font&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </xmp>

VB.NET版本:[测试]

<xmp style="BORDER-RIGHT: #ff9801 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ff9801 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #ff9801 1px solid; WORD-BREAK: break-all; PADDING-TOP: 10px; BORDER-BOTTOM: #ff9801 1px solid; BACKGROUND-COLOR: #ffd780">&lt;%@ import Namespace="System.Data.OleDb" %&gt; &lt;%@ import Namespace="System.Data" %&gt; &lt;%@ import Namespace="System" %&gt; &lt;%@ Page Language="VB" %&gt; &lt;HTML&gt; &lt;HEAD&gt; &lt;title&gt;leDb2XML:数据库转换成XML文件例子&lt;/title&gt; &lt;script runat="server"&gt; 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 = "" TextBox1.Text = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Test.mdb") 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 = "已经在你的相同目录下创建了一下文件:&lt;br/&gt;" dataConn.Open() Dim schemaTable As DataTable schemaTable = 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 + "&lt;a href='" + ServerUrl + schemaTable.Rows(i).ItemArray(2).ToString() + ".xml'&gt;" Literal1.Text = Literal1.Text + schemaTable.Rows(i).ItemArray(2).ToString() + ".xml&lt;/a&gt;&lt;br/&gt;" Next i Catch ex As Exception Label1.Text = ex.Message.ToString() Finally dataConn.Close() End Try End Sub &lt;/script&gt; &lt;/HEAD&gt; &lt;body bgcolor="#ffffff"&gt; &lt;h2 align=center&gt;&lt;font face="宋体"&gt;OleDb2XML:数据库转换成XML文件例子&lt;/font&gt;&lt;/h2&gt; &lt;form runat="server" ID="Form1"&gt; &lt;font face="宋体"&gt; &lt;p align="center"&gt;请输入OleDb连接字符串,然后点“生成XML文件”按钮。&lt;/p&gt; &lt;p align="center"&gt; &lt;asp:TextBox id="TextBox1" runat="server" Width="600"&gt;&lt;/asp:TextBox&gt; &lt;/p&gt; &lt;p align="center"&gt; &lt;asp:Button id="Button1" onclick="CreateXml" runat="server" Text="生成XML文件"&gt;&lt;/asp:Button&gt; &lt;/p&gt; &lt;p align="center"&gt; &lt;asp:Label id="Label1" runat="server" Font-Bold="True" ForeColor="Red"&gt;&lt;/asp:Label&gt; &lt;/p&gt; &lt;p align="center"&gt; &lt;asp:Literal id="Literal1" runat="server"&gt;&lt;/asp:Literal&gt; &lt;/p&gt; &lt;/font&gt; &lt;/form&gt; &lt;/body&gt; &lt;/HTML&gt; </xmp>

对于数据量大的数据库,处理可能会需要更多的时间,因此有可能需要更改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文档等。它为应用程序提供了访问各种数据存储系统的能力,而无需关心...

    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查询、...

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

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

    asp加载access数据库并生成XML

    在ASP(Active Server Pages)中,我们可以利用VBScript脚本来实现从Access数据库中读取数据并生成XML文件。以下是对这个过程的详细说明: 首先,我们需要建立与Access数据库的连接。在VBScript中,我们使用`ADODB....

    OLD-DB.rar_Access OLE Object_vc读取ole对象

    本实例“OLD-DB.rar_Access OLE Object_vc读取ole对象”聚焦于如何利用VC++6.0这一经典开发环境,通过ActiveX Data Objects (ADO)来操作Access数据库中的OLE对象。下面我们将深入探讨相关的知识点。 1. **OLE对象**...

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

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

    SQL数据库导出成EXCEL文件

    这个例子将`YourTableName`表的数据写入名为`output.xls`的Excel文件的Sheet1中。注意,这需要在服务器上安装Excel驱动。 3. **使用第三方工具**: 如果你需要更高级的功能,如定时导出、自动化流程等,可以考虑...

    A tool that allows you to query OLE DB sources查询OLE DB数据

    OLE DB(Object Linking and Embedding, Database)是微软提出的一种数据库访问接口,它使得开发者可以灵活地访问各种数据源,包括关系型数据库、文件系统、XML文档等。本工具专注于查询OLE DB数据源,提供了方便的...

    ASP.NET XML和TreeView操作

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

    adodb_tools:Adodb_tools 允许通过 ADO OLEDB 组件与不同类型的数据库进行通信。-matlab开发

    包 adodb_toolbox 允许通过 Microsoft 的 ADO(ActiveX 数据对象)OLEDB 组件与不同类型的数据库进行通信。 该软件包旨在用于 Microsoft SQL Server、Oracle、Microsoft Access、MySQL 和其他数据库。 这个包可以...

    xml的 详细双语资源

    学习XML,还需要了解XSLT(可扩展样式表语言转换),它用于转换XML文档的结构和格式。XSLT使用模板匹配来决定如何转换源XML。另一个相关的是XPath,它是查询XML文档中节点的语言,可以用来选取特定元素、属性或文本...

    基于XML技术与SQL数据库的网络积件系统.pdf

    SQL Server数据库系统支持XDR(XML Data Reduced)模式和Xpath查询语言,提供了通过URL访问数据库的方式,以及使用OPENXML语句和OLEDB供应器将XML数据写入数据库和将XML文档作为命令文本返回结果集的功能。...

    【 将DBF,XLS,XML,MDB文件导入C#DataGrid的方法 】 (2).docx

    在C#编程中,将不同类型的文件如DBF(dBase格式)、XLS(Excel文件)、XML和MDB(Access数据库)导入到DataGrid控件中是常见的数据操作需求。以下内容详细介绍了如何实现这一功能。 首先,我们创建一个名为`...

    【 将DBF,XLS,XML,MDB文件导入C#DataGrid的方法 】 (2).pdf

    标题所提到的"【将DBF,XLS,XML,MDB文件导入C#DataGrid的方法】"是一个关于在C#编程环境中,如何将不同类型的文件数据(如DBF、XLS、XML和MDB)加载到DataGrid控件中的技术问题。DataGrid是.NET Framework中用于显示...

    access导出xml页面代码

    在Access数据库的情况下,我们需要创建一个ADODB.Connection对象,设置正确的连接字符串,然后打开连接,执行SQL查询,最后将结果集转换为XML。 以下是一个简单的ASP代码示例,演示了如何连接Access数据库并导出...

    VC中实现Access与Excel类型的互相转换技术

    对于Excel文件,由于其数据往往存储在一个或多个工作表(Sheet)中,可以通过编程直接读取Excel文件的内容(如XLS文件的二进制格式或XLSX的基于XML格式的文件结构),然后解析数据,并通过数据库操作API将数据写入...

    SQL Server 2000 XML数据交换技术在Web系统中的应用.pdf

    当请求到达时,sqlisapi.dll会与SQL OLE DB提供程序交互,执行XML相关的命令,并将结果返回给客户端。XML功能,如XPath查询的转换和FOR XML子句的执行,都由sqlxmlx.dll处理,进一步提高了数据处理的效率。 在实际...

    ASP.NE+中读取XML文件信息的多种方法

    对于那些需要将XML数据转换成数据库格式进行处理的情况,可以使用`DataSet`类。这种方式非常适合于需要将XML数据转换为表格形式的应用场景。以下是一个示例: ```csharp &lt;%@ Import Namespace="System.Data.OleDb...

Global site tag (gtag.js) - Google Analytics