|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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美元。 |
|