社区
ATL
帖子详情
ole db rowset
a5a5
2000-07-10 08:32:00
在OLE DB PROVIDER程序中,PTschema和TRschema的作用是什么???
请求大家多多帮助!!!!
...全文
66
回复
打赏
收藏
ole db rowset
在OLE DB PROVIDER程序中,PTschema和TRschema的作用是什么??? 请求大家多多帮助!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
OLE
db
ProNet
Ole
DB
ProNet is written for .NET version 2 or later development with classical COM/ADO data accessing model for fast and flexible accessing all of data sources through MS
OLE
DB
technology. It is directly written from C++/CLI without ADO heavy data marshaling between native and managed codes. It supports all of advanced
row
set
features like client and server updateable cursors, bookmark, record searching and scrolling, batch update, provider-specific features, and many more. Specifically, it is great in accessing a large table using a proper server cursor.
ADO.NET本质论.pdf
深入探索了类、接口、属性和方法。讲解了数据结构,演示了如何用ado.net来解决具体的数据访问问题。重点讨论了ado.net如何有效地平衡"功能的泛化"和"执行效率",以及它如何解决对扩展性、并发性和可靠性的要求。针对其他数据访问api(包括
ole
db
,ado,o
db
c和j
db
c)的程序员,提供了帮助其迁移到ado.net许多易用的参考 本书由资深数据库教师编写,全面介绍了ado.net。书中深入剖析了ado.net的本质,探索了类、接口、属性和方法的工作原理,同时还为其他数据访问api(包括
ole
db
,ado,o
db
c和j
db
c)的程序员,提供了有价值的参考材料。本书适合具有一定数据库基础的开发人员阅读,也可用作数据库中高级课程或培训班配套教材。 第1章 数据:模型、应用程序和api 1.1 信息、数据建模和数据库 1.2 数据库和api基础 1.3 关系模型 1.3.1 关系设计规则 1.3.2 关系模型的优点 1.3.3 ado.net对关系模型的支持 1.4 层次结构、对象和混合 1.4.1 现代的非关系数据 1.4.2 多维数据 1.4.3 非关系数据和ado.net 1.4.4 xml和信息集 1.4.5 xml、数据库和统一数据表示 1.5 以数据的中心的应用程序模型 1.6 数据访问api的发展历程 1.7 小结 第2章 ado.net基础 2.1 数据访问和.net体系结构 2.2 两种数据访问模式 .2.3 连接模式 2.3.1
ole
db
和sqlclient数据提供程序 2.3.2 使用ado.net数据提供程序编写泛型数据访问代码 2.3.3 数据提供程序模型中的游标 2.4 断开模式和data
set
2.5 .net中的xml api 2.5.1 流式xml 2.5.2 xml架构 2.5.3 xmldocument,xpath和xpathnavigator 2.5.4 xml和数据提供程序的混合 2.6 托管数据类的布局 2.7 小结 第3章 连接模型:流式数据访问 3.1 .net数据提供程序和连接模型 3.2 连接类 3.3 连接池 3.4 元数据方法 3.5 command类 3.6 使用参数 3.7 命令的准备、取消、超时和清除 3.8 通过datareader进行流式数据传输 3.9 通过idatarecord读取列值 3.10 错误处理 3.11 使用事务处理 3.11.1 分布式事务处理 3.11.2 连接池的工作原理 3.11.3 声明性事务处理的工作原理 3.12 permission类 3.13 小结 第4章 data
set
类:关系数据的集合 4.1 data
set
4.1.1 data
set
作为驻留内存的数据库 4.1.2 data
set
的用途 4.2 data
set
对象模型 4.2.1 datacolumn,data
row
和data table 4.2.2 data table及其用法 4.2.3 data
row
4.2.4 键、关系和约束 4.2.5 通过关系来导航:select和find 4.2.6 行的添加、获取、更改和删除 4.2.7 合并更改 4.2.8 合并data
set
4.2.9 data
row
的状态和版本 4.2.10 规则和关系 4.2.11 错误处理 4.2.12 事件 4.2.13 data
set
和非关系类型 4.3 定义信息架构 4.4 小结 第5章 dataadapter:数据库和data
set
的同步 5.1 乐观并发性 5.2 dataadapter类 5.3 从托管提供程序中填充data
set
5.3.1 在fill中使用架构和映射信息 5.3.2 执行dataadapter.fill期间的错误处理 5.4 dataadapter.fill的工作原理 5.5
ole
db
dataadapter中的ado集成 5.6 通过dataadapter更新数据库 5.6.1 comman
db
uilder类 5.6.2 直接编写更新逻辑 5.7 update的工作原理 5.8 data
set
事件模型 5.9 编写常规自定义命令 5.9.1 adox comman
db
uilder 5.9.2 构造批处理更新命令 5.10 再论data
set
和非关系数据类型 5.11 应该使用data
set
还是datareader 5.12 小结 第6章 数据绑定:ado.net和gui 6.1 windows窗体和web窗体 6.2 数据表示模式 6.3 使用数据绑定控件 6.3.1 web窗体数据绑定类型 6.3.2 数据绑定控件类型解析 6.3.3 同datareader绑定 6.4 用data
set
进行数据绑定 6.5 data view和通用转换 6.6 表和列映射 6.7 可编辑的列表控件:datalist和datagrid 6.7.1 datalist 6.7.2 datagrid 6.8 非关系数据和data view 6.9 与visual studio的集成 6.10 控件和数据窗体 6.1l 小结 第7章 xml和数据访问的集成 7.1 xml和传统数据访问 7.2 xml和ado.net 7.2.1 定义data
set
的架构 7.2.2 优化data
set
的xml架构 7.2.3 将xml读入data
set
7.2.4 从data
set
写入xml架构 7.2.5 microsoft特有的批注 7.2.6 从data
set
写入xml数据 7.3 序列化、封送和data
set
7.4 类型化的data
set
7.5 xmldatadocument类 7.5.1 xmldatadocument和data
set
7.5.2 xmldatadocument和datadocumentxpathnavigator 7.6 数据库和xml的重要意义 7.6.1 xml作为一种特定类型 7.6.2 文档合成与分解 7.7 sql server、xml和托管数据访问 7.7.1 for xml关键字 7.7.2 openxml 7.7.3 sql
ole
db
提供程序 7.7.4 sqlxml托管类 7.7.5 sqlxml web应用程序 7.7.6 updategram 7.7.7 sql xml
ole
db
提供程序中的for xml 7.7.8 批量加载 7.7.9 未来的支持 7.8 使用sqlxml和.net 7.9 小结 第8章 提供程序:ado.net和数据提供程序 8.1 如何选择 8.2 保留
ole
db
:
ole
db
概念总结 8.3 保留
ole
db
:与
ole
db
数据提供程序交互 8.3.1 主要的共型和类型映射 8.3.2 访问程序 8.3.3 执行命令、返回结果和使用open
row
set
8.3.4 command的最终格式和行为 8.3.5 command dialect 8.3.6 层次化数据 8.3.7 从
row
set
更新 8.3.8 错误 8.3.9 不支持的功能 8.3.10 支持和不支持的提供程序 8.4 编写数据提供程序 8.5 实现connection类 8.5.1 规格 8.5.2 实现 8.5.3 特殊化 8.6 实现command类 8.6.1 规格 8.6.2 实现 8.6.3 特殊化 8.7 实现datareader类 8.7.1 规格 8.7.2 实现 8.7.3 特殊化 8.8 实现dataadapter类 8.8.1 规格 8.8.2 实现 8.8.3 特殊化 8.9 添加增强功能 8.10 实现xml info
set
提供程序 8.11 实现xmlreader 8.12 实现xpathnavigator 8.13 其他实现方案:总结 8.14 论证大一统访问模型的可行性 8.15 小结 第9章 消费者的ado.net迁移路径 9.1 ado.net迁移路径 9.2 面向
ole
db
程序员的ado.net 9.2.1 cotype等价物 9.2.2 数据提供程序的透明性 9.2.3 使用提供程序特有的功能 9.2.4 错误处理 9.2.5 系统提供的服务 9.2.6 系统提供的组件 9.2.7 服务提供程序 9.2.8 封送 9.3 ado概述 9.4 面向ado程序员的ado.net 9.5 ado connection、command和事务处理 9.5.1 连接和连接字符串 9.5.2 使用事务处理 9.5.3 命令和command行为 9.5.4 层次化数据 9.5.5 异步操作 9.5.6 属性 9.6 ado.net与ado断开模型的比较 9.6.1 类的等价物 9.6.2 导航 9.6.3 ado.net中的get
row
s有何变化 9.6.4 更新 9.6.5 创建更新语句 9.6.6 批处理更新 9.6.7 ado.net的data
set
扩展 9.6.8 列和表的命名 9.6.9 排序和筛选 9.7 ado
db
的互操作性 9.8 面向o
db
c程序员的ado.net 9.8.1 句柄和环境 9.8.2 命令 9.8.3 获取数据 9.8.4 元数据和架构信息 9.8.5 错误 9.9 面向j
db
c程序员的ado.net 9.9.1 泛化代码 9.9.2 提供程序的类型 9.9.3 连接池 9.9.4 非关系数据类型 9.9.5 对象数据库 9.9.6 其他sql-99扩展 9.9.7 元数据 9.9.8 事务处理 9.9.9 命令和行为 9.9.10 执行查询和返回结果 9.9.11 服务器游标 9.9.12 错误 9.10 ado.net j
db
c程序员和断开模型 9.11 sql/j part 0和类型化data
set
9.12 小结 第10章 ado.net和各种数据类型 10.1 数据访问的发展历程 10.2 ado.net和基于服务器及文件的r
db
ms 10.3 ado.net和同种层次结构数据及or
db
ms 10.4 ado.net和网络数据:对象图、o
db
ms与网络
db
ms 10.5 ado.net和结构化文件、多维数据及or
db
ms 10.6 ado.net平面文件和半结构化文件 10.7 小结 附录a 数据类型和类型映射 a.1
db
type枚举 a.2 将sql server数据类型映射到sqltype及sql
db
type a.3 将
ole
db
db
type映射到.net数据类型 a.4 o
db
c类型映射 a.5 parameter.
db
type 附录b 表达式的语法 b.1 用户自定义值 b.2 运算符 b.3 字符串运算符 b.4 通配符 b.5 父/子关系引用 b.6 聚合 b.7 函数 附录c 架构推断规则 c.1 排除信息 c.2 推断过程总结 c.3 表 c.4 有属性的元素 c.5 有子元素的元素 c.6 重复元素 c.7 列 c.8 属性 c.9 没有属性或子元素的元素 c.10 关系 c.11 元素文本 c.12 限制
轻松掌握C++数据库编程
随着数据库技术的广泛应用,在企业开发中,几乎90%的项目涉及数据库编程,数据库编程技术主要 使用O
DB
C API、ADO、ADO.NET、
OLE
DB
等方法,要想成为一名编程大牛,那么使用C++进行数据库编程必须熟练掌握。...
xls转m
db
代码以及.exe执行软件
******* 导出到excel EXEC master..xp_cmdshell 'bcp
Set
tle
DB
.
db
o.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入Excel SELECT * FROM OpenDataSource( 'Microsoft.Jet.
OLE
DB
.4.0', 'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions /*动态文件名 declare @fn varchar(20),@s varchar(1000)
set
@fn = 'c:\test.xls'
set
@s ='''Microsoft.Jet.
OLE
DB
.4.0'', ''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''
set
@s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$' exec(@s) */ SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名 FROM OpenDataSource( 'Microsoft.Jet.
OLE
DB
.4.0', 'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions /********************** EXCEL导到远程SQL insert OPENDATASOURCE( 'SQL
OLE
DB
', 'Data Source=远程ip;User ID=sa;Password=密码' ).库名.
db
o.表名 (列名1,列名2) SELECT 列名1,列名2 FROM OpenDataSource( 'Microsoft.Jet.
OLE
DB
.4.0', 'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions /** 导入文本文件 EXEC master..xp_cmdshell 'bcp
db
name..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword' /** 导出文本文件 EXEC master..xp_cmdshell 'bcp
db
name..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword' 或 EXEC master..xp_cmdshell 'bcp "Select * from
db
name..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword' 导出到TXT文本,用逗号分开 exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password' BULK INSERT 库名..表名 FROM 'c:\test.txt' WITH ( FIELDTERMINATOR = ';',
ROW
TERMINATOR = '\n' ) --/*
dB
ase IV文件 select * from OPEN
ROW
SET
('MICROSOFT.JET.
OLE
DB
.4.0' ,'
dB
ase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料4.
db
f]') --*/ --/*
dB
ase III文件 select * from OPEN
ROW
SET
('MICROSOFT.JET.
OLE
DB
.4.0' ,'
dB
ase III;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料3.
db
f]') --*/ --/* FoxPro 数据库 select * from open
row
set
('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;SourceType=
DB
F;Source
DB
=c:\', 'select * from [aa.
DB
F]') --*/ /**************导入
DB
F文件****************/ select * from open
row
set
('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver; Source
DB
=e:\VFP98\data; SourceType=
DB
F', 'select * from customer where country != "USA" order by country') go /***************** 导出到
DB
F ***************/ 如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句 insert into open
row
set
('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;SourceType=
DB
F;Source
DB
=c:\', 'select * from [aa.
DB
F]') select * from 表 说明: Source
DB
=c:\ 指定foxpro表所在的文件夹 aa.
DB
F 指定foxpro表的文件名. /*************导出到Access********************/ insert into open
row
set
('Microsoft.Jet.
OLE
DB
.4.0', 'x:\A.m
db
';'admin';'',A表) select * from 数据库名..B表 /*************导入Access********************/ insert into B表 selet * from open
row
set
('Microsoft.Jet.
OLE
DB
.4.0', 'x:\A.m
db
';'admin';'',A表) 文件名为参数 declare @fname varchar(20)
set
@fname = 'd:\test.m
db
' exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.
OLE
DB
.4.0'', '''+@fname+''';''admin'';'''', topics) as a ') SELECT * FROM OpenDataSource( 'Microsoft.Jet.
OLE
DB
.4.0', 'Data Source="f:\northwind.m
db
";Jet
OLE
DB
:Database Password=123;User ID=Admin;Password=;')...产品 ********************* 导入 xml 文件 DECLARE @idoc int DECLARE @doc varchar(1000) --sample XML document
SET
@doc =' Customer was very satisfied Important Happy Customer. ' -- Create an internal representation of the XML document. EXEC sp_xml_preparedocument @idoc OUTPUT, @doc -- Execute a SELECT statement using OPENXML
row
set
provider. SELECT * FROM OPENXML (@idoc, '/root/Customer/Order', 1) WITH (oid char(5), amount float, comment ntext 'text()') EXEC sp_xml_removedocument @idoc ??????? /**********************Excel导到Txt****************************************/ 想用 select * into opendatasource(...) from opendatasource(...) 实现将一个Excel文件内容导入到一个文本文件 假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位) 且银行帐号导出到文本文件后分两部分,前8位和后8位分开。 邹健: 如果要用你上面的语句插入的话,文本文件必须存在,而且有一行:姓名,银行账号1,银行账号2 然后就可以用下面的语句进行插入 注意文件名和目录根据你的实际情况进行修改. insert into opendatasource('MICROSOFT.JET.
OLE
DB
.4.0' ,'Text;HDR=Yes;DATABASE=C:\' )...[aa#txt] --,aa#txt) --*/ select 姓名,银行账号1=left(银行账号,8),银行账号2=right(银行账号,8) from opendatasource('MICROSOFT.JET.
OLE
DB
.4.0' ,'Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls' --,Sheet1$) )...[Sheet1$] 如果你想直接插入并生成文本文件,就要用bcp declare @sql varchar(8000),@tbname varchar(50) --首先将excel表内容导入到一个全局临时表 select @tbname='[##temp'+cast(newid() as varchar(40))+']' ,@sql='select 姓名,银行账号1=left(银行账号,8),银行账号2=right(银行账号,8) into '+@tbname+' from opendatasource(''MICROSOFT.JET.
OLE
DB
.4.0'' ,''Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls'' )...[Sheet1$]' exec(@sql) --然后用bcp从全局临时表导出到文本文件
set
@sql='bcp "'+@tbname+'" out "c:\aa.txt" /S"(local)" /P"" /c' exec master..xp_cmdshell @sql --删除临时表 exec('drop table '+@tbname) /********************导整个数据库*********************************************/ 用bcp实现的存储过程 /* 实现数据导入/导出的存储过程 根据不同的参数,可以实现导入/导出整个数据库/单个表 调用示例: --导出调用示例 ----导出单个表 exec file2table 'zj','','','xzkh_sa..地区资料','c:\zj.txt',1 ----导出整个数据库 exec file2table 'zj','','','xzkh_sa','C:\docman',1 --导入调用示例 ----导入单个表 exec file2table 'zj','','','xzkh_sa..地区资料','c:\zj.txt',0 ----导入整个数据库 exec file2table 'zj','','','xzkh_sa','C:\docman',0 */ if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1) drop procedure File2Table go create procedure File2Table @servername varchar(200) --服务器名 ,@username varchar(200) --用户名,如果用NT验证方式,则为空'' ,@password varchar(200) --密码 ,@tbname varchar(500) --数据库.
db
o.表名,如果不指定:.
db
o.表名,则导出数据库的所有用户表 ,@filename varchar(1000) --导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt ,@isout bit --1为导出,0为导入 as declare @sql varchar(8000) if @tbname like '%.%.%' --如果指定了表名,则直接导出单个表 begin
set
@sql='bcp '+@tbname +case when @isout=1 then ' out ' else ' in ' end +' "'+@filename+'" /w' +' /S '+@servername +case when isnull(@username,'')='' then '' else ' /U '+@username end +' /P '+isnull(@password,'') exec master..xp_cmdshell @sql end else begin --导出整个数据库,定义游标,取出所有的用户表 declare @m_tbname varchar(250) if right(@filename,1)'\'
set
@filename=@filename+'\'
set
@m_tbname='declare #tb cursor for select name from '+@tbname+'..sysobjects where xtype=''U''' exec(@m_tbname) open #tb fetch next from #tb into @m_tbname while @@fetch_status=0 begin
set
@sql='bcp '+@tbname+'..'+@m_tbname +case when @isout=1 then ' out ' else ' in ' end +' "'+@filename+@m_tbname+'.txt " /w' +' /S '+@servername +case when isnull(@username,'')='' then '' else ' /U '+@username end +' /P '+isnull(@password,'') exec master..xp_cmdshell @sql fetch next from #tb into @m_tbname end close #tb deallocate #tb end go /************* Oracle **************/ EXEC sp_addlinkedserver 'OracleSvr', 'Oracle 7.3', 'MSDAORA', 'ORCL
DB
' GO delete from openquery(mailser,'select * from yulin') select * from openquery(mailser,'select * from yulin') update openquery(mailser,'select * from yulin where id=15')
set
disorder=555,catago=888 insert into openquery(mailser,'select disorder,catago from yulin')values(333,777) 补充: 对于用bcp导出,是没有字段名的. 用open
row
set
导出,需要事先建好表. 用open
row
set
导入,除ACCESS及EXCEL外,均不支持非本机数据导入
数据库编程之
OLE
DB
和J
DB
C
#一,
OLE
DB
对象链接与嵌入数据库(
OLE
DB
)也是微软公司提出的数据库连接访问标准。 1.
OLE
DB
概念
OLE
DB
是基于组件对象模型(COM)来访问各种数据源的ActiveX的通用接口,它提供访问数据的一种统一手段,而不管存储数据时使用的方法如何。与O
DB
C和J
DB
C类似,
OLE
DB
支持的数据源可以是数据库,也可以是文本文件、Excel表格、ISAM等各种不同格式的数...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章