Sql Server表生成外部XML文件,开发工具Delphi

wblong 2003-10-20 12:08:27
1、用Delphi的ADODATASET或ADOQUERTY执行下面一句查询后  
  select * from t_account for xml raw
不知怎样将得到的XML流保存为一个外部XML文件(要求是程序实现);

2、如果用用Delphi的ADODATASET或ADOQUERTY执行下面一句查询  
  select * from t_account
再将SAVETOFILE();可以得到XML文件,但字段值都是单引号引起来的,
标准的XML文件值都应该用双引号,所以在用Sqlserver中的OPENXML方法时,
要先替换字符串,对XML大文件进行的效果可想而知,字符串替换效率很低,
时间长,这种方法的最大问题是怎样避免单引号,而是双引号。

3、有没有什么更好的方法,我遇到的表有100多个字段,数据20万。
...全文
55 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
月光易水 2003-10-21
  • 打赏
  • 举报
回复

不熟悉Delphi,下面方法测试一下

1.
adoRs.save() mothod
a. 可以将rs结果集保存成外部xml文件
b. 将结果集保存到xmldom对象,经过数据处理后在调用xmldom.save()方法保存成xml文件

2. 调用用Sqlserver中的OPENXML方法不需要替换字符串.
使用OPENXML方前法需要调用过程sp_xml_preparedocument获得xml文档句柄
只要是有效的xml文本即可
Example: SQL帮助==>索引==>关键字(OpenXML extension)


:_)
wblong 2003-10-20
  • 打赏
  • 举报
回复
to :Yifan(最爱黑夜的鸟)
exec master..xp_cmdshell 是以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。
但Select不是内部或外部命令,也不是可运行的程序或批处理文件,所以应该是不正确吧,
是不是我理解错了。你的写法语法上还存在错误呢!
请教你有成功执行吗?
伊凡yifan 2003-10-20
  • 打赏
  • 举报
回复
exec xp_cmdshell ' "select * from talbe queryout ' for xml c:\xxx.xml
第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单中添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带背景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏设计 11 实例009 在状态栏中显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏中加入图标 13 1.4 导航菜单界面 14 实例012 OutLook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 1.5 特色程序界面 18 实例015 类QQ的程序界面 18 实例016 类似Windows XP的程序界面 20 实例017 以图形按钮显示的界面 21 实例018 以树型显示的程序界面 23 实例019 以XPManifest组件显示界面 24 实例020 动态按钮的窗体界面 25 1.6 特殊形状的窗体 26 实例021 非矩形窗体 26 实例022 建立字体形状窗体 28 1.7 多媒体光盘 29 实例023 自动启动的多媒体光盘程序 29 实例024 为触摸屏程序添加虚拟键盘 30 实例025 触摸屏系统 31 1.8 窗体效果 33 实例026 半透明渐显窗体 33 实例027 窗口颜色的渐变 34 实例028 带背景的窗体 35 实例029 为窗体增加边框 36 1.9 窗体动画 37 实例030 窗体中的滚动字幕 37 实例031 动画显示窗体 38 实例032 制作闪烁的窗体 39 实例033 直接在窗体上绘图 40 实例034 动画形式的程序界面 41 实例035 以时钟显示界面窗体 42 1.10 标题栏窗体 44 实例036 标题栏上的按钮 45 实例037 使窗体标题栏文字右对齐 47 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 49 实例040 设置窗体在屏幕中的位置 50 实例041 始终在最上面的窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大小 52 实例043 获取桌面大小 53 实例044 组件大小随窗体的改变而改变 53 实例045 在窗口间移动按钮 54 实例046 如何实现Office助手 55 1.13 窗体控制技术 56 实例047 在关闭窗口前加入确认对话框 56 实例048 程序在循环中响应界面操作 57 实例049 使用任意组件拖动窗体 58 实例050 动态创建窗体和释放窗体 59 实例051 修改提示字体及颜色 60 1.14 其他技术 61 实例052 窗口融合技术 61 实例053 给MDI窗体加背景 62 实例054 如何关闭MDI类型窗体中的子窗体 63 实例055 向提示框中添加图标 64 第2章 控件应用 67 2.1 TEdit控件应用典型实例 68 实例056 从右至左输入数据 68 实例057 为TEdit控件添加列选择框 69 实例058 只允许输入数字的TEdit组件 70 2.2 TSpeedButton控件应用典型实例 71 实例059 在TSpeedButton按钮中显示图标 71 实例060 折行显示按钮标题 72 2.3 TMemo控件应用典型实例 73 实例061 设置TMemo组件的边界 73 实例062 TMemo组件的光标定位 74 实例063 得到TMemo中的可见行数 75 2.4 TListBox控件应用典型实例 76 实例064 在TListBox组件间交换数据 76 实例065 为TListBox添加水平滚动条 77 实例066 将数据库数据添加到组合框中 78 实例067 借助绑定控件实现数据选择录入 79 2.5 TListView控件应用典型实例 80 实例068 TListView列拒绝添加重复信息 80 实例069 将数据库数据添加到TListView控件 82 实例070 用TListView控件制作导航界面 83 实例071 在TListView控件中对数据排序或统计 84 实例072 在TListView组件中绘制底纹 86 实例073 在列视图中拖动视图项 87 2.6 TTreeView控件应用典型实例 88 实例074 将数据库数据显示到树视图中 88 实例075 用TTreeView控件制作导航界面 90 实例076 TTreeView组件遍历磁盘目录 91 实例077 TTreeView组件在数据库中的应用 92 2.7 TStringGrid控件应用典型实例 94 实例078 程序运行时对
* ezService一直在更新中。请从http://www.ezService.org/download/ezService.exe下载最新版本。 * 根据调查,多数使用者认为原先的价格过高,自2003年9月1日起ezService价格进行重大调整,仅为原来价格的30%! ezService是一个致力于简化分布式计算服务开发的框架。 简要介绍: 1. 使用ezService开发分布式数据库应用,可以大幅度简化应用服务器的开发,无须在建立COM+/SOAP Server应用上花费任何时间,也不需要费心管理数据库事务,只要具备熟练运用SQL的能力,理解SQL参数匹配规则即可写出复杂的分布式应用服务,使得入门级程序员也可以轻松负担服务开发任务。 2. ezService高级服务允许按照类pascal语法规则自由书写脚本,实现复杂业务逻辑,新版本可以支持自Borland Delphi 7导出的大量函数和对象。同时提供了对COM的直接支持,可以通过引用COM组件,与外部系统进行复杂的交互操作。 3. ezService内核为COM+,支持连接池(connection pooling)和对象池(object pooling)机制,自动支持分布式事务。 4. ezService使用ADO提供程序连接数据库管理系统,凡是提供良好的OLE-DB驱动的DBMS均可支持(目前已经在SQL Server和Oracle 8/9上通过用户验证)。 5. ezService使用名为ESDL(ezService定义语言)的(类似WSDL)XML发布文档,ESDL可以对外界发布ezService所开发服务的全部功能接口,使得第三方开发者也可以方便的了解服务,快速进行二次开发而无需了解服务细节。 6. 支持SOAP协议,提供一个ISAPI类型的Web Service,一个ASP.NET Web Service,可以直接将服务功能发布到Internet/Intranet,无须额外编程。 7. 未授权的ezService服务具备与授权版本完全相同的功能,仅会在执行时随机锁定3个用户身份验证帐号,其他功能不受影响。 8. 由于使用了COM+/SOAP技术,ezService可以被主流开发工具轻松调用,发行版本附带了可应用于Borland Delphi 7的一组VCL,使开发员可以迅速访问ezService服务。在Visual Studio .NET开发环境中也可以轻松使用类似技术。 其他介绍: ezService主要定位在以下四个方面:简化中小型分布式关系型计算服务开发、规范服务管理、创建完好设计契约、加速服务客户程序开发。集快速服务设计、服务即时发布、安全管理、跨系统协作于一身,是中小型分布式关系型数据库应用开发的一揽子解决方案,适应于快速搭建完备可靠的应用系统。 ezService所开发的应用服务定义,可以被立即登记到服务注册中,无需任何繁琐设置即可被ezService客户程序以及支持COM+/SOAP的开发工具所访问。 ezServiceWeb Service服务提供者同时也是ezService系统平台的对外集成接口,遵循其WSDL声明,即可在各种外部系统中生成访问其数据的SOAP客户程序,通过完备的XML请求/响应定义,外部系统可以实现对ezService系统的数据读写访问。 新版本的ezService SE更换了脚本引擎,全面支持下列Delphi单元的绝大多数函数和类: - System - SysUtils - Windows - Classes - Types - TypInfo - Variants - VarUtils - DateUtils - DB - ADODB - ADOInt - DBClient - FMTBcd - IniFiles - MaskUtils - Math - Registry - SqlTimSt - StrUtils - SysConst 具备更强大的扩展能力。 更多内容,请访问作者主页:http://www.ezService.org 目前主页新增了论坛系统,欢迎访问留言: http://www.ezService.org/dvbbs
BDB 专业版 v3.6 -- 索引 1. 关于BDB 2. 系统要求 3. 如何购买 4. 联系我们 5. 感谢 1.关于BDB __________________________________________________________ BDB是贝恩软件(www.bainsoft.com)发布的数据库设计和数据库部署软件, 支持Oracle,MS SQLServer,Access,MySQLSQLAnyWhere和Sybase数据库。 您可以通过BDB来简化软件开发和部署过程: 1,数据库设计。 通过BDB快速建立数据库模型。支持正向工程和反向工程, 以及数据库模型和实体数据库之间的比对更新和双向同步。 2,数据库部署。 通过BDB创建数据库部署程序。 除了常规调用外,在BDB中还提供了外部命令行调用数据库自动安装支持, 您可以通过该功能把数据库部署集成到您的安装程序中。 3,数据库自动升级。 可在不影响原有数据数据的前提下进行数据库自动升级。 此外,可方便快捷进行数据库自动升级部署,只需更新BDB自动生成的资源文件即可。 4,数据库迁移。 提供了完整的数据库迁移方案,可进行跨数据库平台迁移。可迁移的数据对象包括: 数据,索引,约束,缺省值,触发器,视图,存储过程,函数以及数据数据。 5,查询分析 数据库快速查询分析功能。可进行数据数据查询,编辑及导出操作: A,提供专用的SQL编辑器。支持语法高亮,脚本预定义。 B,支持脚本快速选择输入。 C,提供了不同数据库平台下统一的快速查询语法支持(如“DESC”)。 D,数据数据和Excel文件之间的双向导入导出操作。 E,提供特定的数据文件格式,用于不同数据库之间的数据导入,导出。 6,SQL脚本预输出 数据库模型或实体数据库有所改动时,可预输出更新SQL脚本,同时还可以 进行数据库重建SQL脚本预览。 7,支持跨数据库平台。 您只需按熟悉的数据库平台进行数据库设计,在部署到其他数据库平台时, 系统会进行数据类型转换及不同数据库平台下的语法差异处理。 8,采用方案模式。 支持同时进行多个数据库管理。 9,支持可重用属性定义及同步。 10,开发语言支持。 开放的数据库物理结构文件格式(XML标准格式),并提供了外部调用数据库结构源程序 (包含C#/Delphi/JAVA三个版本)。 11,支持多语言。 可根据需要增加新的语言包。
Direct Oracle Access 组件有两种版本,Direct Oracle Access Standard version 和 Direct Oracle Access Object version Object版允许你通过TOracleObject和TOracleReference 对象使用 Oracle8的对象扩展。 如果您正在使用 Borland 的 Delphi 或 C++Builder 开发 Oracle 应用程序,那么 Direct Oracle Access 组件集将帮助您实现 Borland 开发工具和 Oracle 数据库系统之间的无缝集成。 使用 Direct Oracle Access,应用程序可以充分利用两个产品的优势。 主要特性: 高性能 ——Oracle的性能特性对于在线业务和批处理程序非常有用。通过Direct Oracle Access,能够直接访问Oracle接口,从而使得标准的数据库访问函数实现性能最优。而该组件集还支持Array Fetching, Array DML, PL/SQL Blocks, PL/SQL Tables、本地语句缓存和直接路径装载引擎,进一步优化了您程序的性能关键函数。 程序发布方便 ——Direct Oracle Access程序无需BDE或ODBC等中间件,只要求Oracle SQL*Net 或Net8。这样,您在布署应用程序时,无需考虑中间件的安装,避免了许多版本依赖性和配置问题。 Oracle Package支持 ——Oracle数据库中的多数PL/SQL代码被编程为程序包。Direct Oracle Access提供了一个TOraclePackage组件,您可以方便的调用打包后的程序单元,而无需对这些程序单元和参数做细节说明。 Direct Oracle Access还含有一个Package向导,可以生成类,用以封装程序单元,并记录程序包中定义的类型。最终,将您的Oracle程序包变为Object Pascal或C++语言的自然扩展。 TOracleDataSet ——该数据集组件支持Oracle记录锁定、记录刷新、服务器生成值、自动队列值生成、BLOB压缩。如果主和从之间存在外来关键字,或主含有一个或多个列或属性(网或varray),那么主从复合关系将自动建立。 TOracleDataSet可以在运行时使用Oracle字典内的信息,在客户端检查服务器约束,并在消息中读取约束错误消息。能够从字典中获得格式屏蔽、区域值和默认值。这样,您所创建的应用程序将尽可能少的含有编译为可执行文件的数据库知识,还能够动态适应数据库的变化,无需重新编译。 支持Oracle专有特性 ——Direct Oracle Access支持许多Oracle专有特性。除了以上提及的特性之外,还支持Oracle 8和Oracle 8i特性,如LOB定位、对象和参考、XML TYPE、时间戳、滚动查询、密码到期、外部程序开发以及MTS Oracle服务等。 主要功能: 按范例查询模式 ——TOracleDataSet组件含有一个按范例查询模式,无需额外编程,也无需添加其他组件或控件,就能为您的程序提供QBE窗体。由于是在Oracle服务器上执行QBE查询,因此性能最优而且流量最低。用户能够提供简单的查询值,如JONES或100;能够包含字符串值通配符,如JON%;还包含比较操作符,如>, <, NOT, BETWEEN, IN等。 Oracle监控器 ——该组件能够监控您Direct Oracle Access程序的数据库访问行为。可以显示每个行为的SQL、变量、时间戳、逝去时间、网络统计、数据库统计和查询执行计划。这对于查找性能瓶颈非常有用,能够调整程序性能,解决程序错误。 警告和管道事件 ——Oracle Server为每个事件处理提供dbms_alert和dbms_pipe包。Direct Oracle Access中的TOracleEvent可以作为这些事件的接收器。TOracleEvent工作在您程序的后台线程中,可以向类似对象事件传播数据库事件。这些事件的发生可以同步或异步于您程序的主线程。 SQL脚本 ——如果需要执行多条数据定义语言(DDL)语句,例如运行您程序的数据库安装部分,就可以使用TOracleScript组件。该组件含有一个专有编辑器,可以开发脚本和单个命令。可扩展的脚本语言遵循基本的SQL*Plus语法,并支持所有SQL语句。除此,该语言还支持变量置换,从而令您的脚本可定制。 高级队列 ——TOracleQueue组件可以重发利用Oracle8的高级队列选项。该组件封装了DBMS_AQ包的基本功能。它提供了便利操作,能够将消息加入队列或者将其从队列中提取出来。消息提取操作是在您程序的后台线程中完成的,而线程模式中生成的事件可以同步或异步于您程序的主线程。 会话池 ——在服务器程序中,需要经常创建会话以处理来自客户端程序的请求,这对于连接池的使用非常有帮助。如果没有池的概念,那么每次请求都将引起数据库登录和离开行为。使用TOracleSessionPool组件后,您可以维护一个数据库会话池,能够被不同请求使用或重复使用。您可以定义池中会话的最大和最小数目,定义池中idle会话的TimeOut行为,并可以预先设置用户名、密码和数据库。
BDB是贝恩软件(www.bainsoft.com)发布的数据库设计和数据库部署软件,支持Oracle,MS SQLServer,Access,MySQLSQLAnyWhere和Sybase数据库。您可以通过BDB来简化软件开发和部署过程:1,数据库设计。 通过BDB快速建立数据库模型。支持正向工程和反向工程, 以及数据库模型和实体数据库之间的比对更新和双向同步。2,数据库部署。 通过BDB创建数据库部署程序。 除了常规调用外,在BDB中还提供了外部命令行调用数据库自动安装支持, 您可以通过该功能把数据库部署集成到您的安装程序中。3,数据库自动升级。 可在不影响原有数据数据的前提下进行数据库自动升级。 此外,可方便快捷进行数据库自动升级部署,只需更新BDB自动生成的资源文件即可。4,数据库迁移。 提供了完整的数据库迁移方案,可进行跨数据库平台迁移。可迁移的数据对象包括: 数据,索引,约束,缺省值,触发器,视图,存储过程,函数以及数据数据。5,查询分析 数据库快速查询分析功能。可进行数据数据查询,编辑及导出操作: A,提供专用的SQL编辑器。支持语法高亮,脚本预定义。 B,支持脚本快速选择输入。 C,提供了不同数据库平台下统一的快速查询语法支持(如“DESC”)。 D,数据数据和Excel文件之间的双向导入导出操作。 E,提供特定的数据文件格式,用于不同数据库之间的数据导入,导出。6,SQL脚本预输出 数据库模型或实体数据库有所改动时,可预输出更新SQL脚本,同时还可以 进行数据库重建SQL脚本预览。7,支持跨数据库平台。 您只需按熟悉的数据库平台进行数据库设计,在部署到其他数据库平台时, 系统会进行数据类型转换及不同数据库平台下的语法差异处理。8,采用方案模式。 支持同时进行多个数据库管理。9,支持可重用属性定义及同步。10,开发语言支持。 开放的数据库物理结构文件格式(XML标准格式),并提供了外部调用数据库结构源程序 (包含C#/Delphi/JAVA三个版本)。11,支持多语言。 可根据需要增加新的语言包。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧