仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 805|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页设计[引]SQLServer和Access、Excel数据传输...

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:45:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。access|excel|server|sqlserver|数据
http://www.tongyi.net/article/20031101/200311013786.shtml

所谓的数据传输,实际上是指SQLServer会见Access、Excel间的数据。

为何要思索到这个成绩呢?

因为汗青的缘故原由,客户之前的数据良多都是在存进在文本数据库中,如Acess、Excel、Foxpro。如今体系晋级及数据库服务器如SQLServer、ORACLE后,常常必要会见文本数据库中的数据,以是就会发生如许的需求。前段工夫出差的项目,就是面对如许的一个成绩:SQLServer和VFP之间的数据互换。

要完成题目的必要,在SQLServer中是一件十分复杂的事变。

一般的能够有3种体例:1、DTS工具2、BCP3、散布式查询

DTS就不必要说了,由于那是图形化操纵界面,很简单上手。

这里次要讲下前面两们,分离以查、增、删、改作为复杂的例子:

上面空话就不说了,间接以T-SQL的情势体现出来。


1、SQLServer和Access

1、查询Access中数据的办法:

select*fromOpenRowSet(microsoft.jet.oledb.4.0,;database=c:db2.mdb,select*fromserv_user)



select*fromOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource="c:DB2.mdb";UserID=Admin;Password=)...serv_user

2、从SQLServer向Access写数据:

insertintoOpenRowSet(microsoft.jet.oledb.4.0,;database=c:db2.mdb,select*fromAccee表)
select*fromSQLServer表
或用BCP

master..xp_cmdshellbcp"serv-htjs.dbo.serv_user"out"c:db3.mdb"-c-q-S"."-U"sa"-P"sa"

下面的区分次要是:OpenRowSet必要mdb和表存在,BCP会在不存在的时分天生该mdb

3、从Access向SQLServer写数据:有了下面的基本,这个就很复杂了

insertintoSQLServer表select*from
OpenRowSet(microsoft.jet.oledb.4.0,;database=c:db2.mdb,select*fromAccee表)

或用BCP

master..xp_cmdshellbcp"serv-htjs.dbo.serv_user"in"c:db3.mdb"-c-q-S"."-U"sa"-P"sa"

4、删除Access数据:

deletefromOpenRowSet(microsoft.jet.oledb.4.0,;database=c:db2.mdb,select*fromserv_user)
wherelock=0

5、修正Access数据:

updateOpenRowSet(microsoft.jet.oledb.4.0,;database=c:db2.mdb,select*fromserv_user)
setlock=1

SQLServer和Access大抵就这么多。


2、SQLServer和Excel


1、向Excel查询

select*fromOpenRowSet(microsoft.jet.oledb.4.0,Excel8.0;HDR=yes;database=c:ook1.xls;,select*from[Sheet1$])whereclike%f%

select*from
OPENROWSET(MICROSOFT.JET.OLEDB.4.0
,Excel5.0;HDR=YES;IMEX=2;DATABASE=c:ook1.xls,[sheet1$])

1)hdr=yes时能够把xls的第1行作为字段对待,如第1其中hdr=no的话,where时就会报错
2)[]和美圆$必需要,不然M$可不认这个账

2、修正Execl

updateOpenRowSet(microsoft.jet.oledb.4.0,Excel8.0;hdr=yes;database=c:ook1.xls;,select*from[Sheet1$])
seta=erquanwhereclike%f%

3、导进导出


insertintoOpenRowSet(microsoft.jet.oledb.4.0,Excel8.0;hdr=yes;database=c:ook1.xls;,select*from[Sheet2$])(id,name)
selectid,namefromserv_user

或BCP

master..xp_cmdshellbcp"serv-htjs.dbo.serv_user"out"c:ook2.xls"-c-q-S"."-U"sa"-P"sa"

从Excel向SQLServer导进:

select*intoserv_user_bak
fromOpenRowSet(microsoft.jet.oledb.4.0,Excel8.0;HDR=yes;database=c:ook1.xls;,select*from[Sheet1$])

假如表serv_user_bak不存在,则创立

有关BCP和散布式查询的具体解答,就查SQLServer自带的匡助吧。
SQLServer和txt文件、HTML文件、VFP文件的数据互换都显得十分简单了。。。。

实在这些内容在匡助里都有,偶只不外是总结了一下,便利人人参考,呵呵~~

以上内容都经由测试~~

MySQL的双许可模式意味着,那些希望对数据库具有额外控制的人可以直接从数据库厂商那儿得到帮助。MySQLAB公司提供了支持和维护服务,诸如代码更新和补丁修补服务等,每年订阅费为大约3000美元。
乐观 该用户已被删除
沙发
发表于 2015-1-19 09:08:00 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
不帅 该用户已被删除
板凳
发表于 2015-1-24 11:40:08 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-1 09:44:31 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
5#
发表于 2015-2-7 02:13:31 | 只看该作者
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
再现理想 该用户已被删除
6#
发表于 2015-2-19 18:48:51 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
admin 该用户已被删除
7#
发表于 2015-3-6 15:19:36 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
老尸 该用户已被删除
8#
发表于 2015-3-13 03:09:51 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
若天明 该用户已被删除
9#
发表于 2015-3-20 11:18:28 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 11:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表