兰色精灵 发表于 2015-1-16 22:46:04

MYSQL教程之SQL SERVER 与ACCESS、EXCEL的数据转换...

据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle。对于一些具有专门数据库管理员的比较大的环境来说,MySQL很难得到宠爱,这时候,关于MySQL是否真的具有良好的可扩展性的争论已经没有意义。access|excel|server|数据|转换
SQLSERVER与ACCESS、EXCEL的数据转换



熟习SQLSERVER2000的数据库办理员都晓得,其DTS能够举行数据的导进导出,实在,我们也能够利用Transact-SQL语句举行导进导出操纵。在Transact-SQL语句中,我们次要利用OpenDataSource函数、OPENROWSET函数,关于函数的具体申明,请参考SQL联机匡助。使用下述办法,能够非常简单地完成SQLSERVER、ACCESS、EXCEL数据转换,具体申明以下:



1、SQLSERVER和ACCESS的数据导进导出

惯例的数据导进导出:

利用DTS导游迁徙你的Access数据到SQLServer,你可使用这些步骤:

  1在SQLSERVER企业办理器中的Tools(工具)菜单上,选择DataTransformation

  2Services(数据转换服务),然后选择czdImportData(导进数据)。

  3在ChooseaDataSource(选择数据源)对话框当选择MicrosoftAccessastheSource,然后键进你的.mdb数据库(.mdb文件扩大名)的文件名或经由过程扫瞄寻觅该文件。

  4在ChooseaDestination(选择方针)对话框中,选择MicrosoftOLE DBProviderforSQL Server,选择数据库服务器,然后单击需要的考证体例。

  5在SpecifyTableCopy(指定表格复制)或Query(查询)对话框中,单击Copytables(复制表格)。

6在SelectSourceTables(选择源表格)对话框中,单击SelectAll(全体选定)。下一步,完成。



Transact-SQL语句举行导进导出:

1.在SQLSERVER里查询access数据:

--======================================================

SELECT*

FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,

DataSource="c:DB.mdb";UserID=Admin;Password=)...表名

-------------------------------------------------------------------------------------------------



2.将access导进SQLserver

--======================================================

在SQLSERVER里运转:

SELECT*

INTOnewtable

FROMOPENDATASOURCE(Microsoft.Jet.OLEDB.4.0,

DataSource="c:DB.mdb";UserID=Admin;Password=)...表名

-------------------------------------------------------------------------------------------------



3.将SQLSERVER内外的数据拔出到Access表中

--======================================================

在SQLSERVER里运转:

insertintoOpenDataSource(Microsoft.Jet.OLEDB.4.0,

DataSource="c:DB.mdb";UserID=Admin;Password=)...表名

(列名1,列名2)

select列名1,列名2fromsql表



实例:

insertintoOPENROWSET(Microsoft.Jet.OLEDB.4.0,

C:db.mdb;admin;,Test)

selectid,namefromTest





INSERTINTOOPENROWSET(Microsoft.Jet.OLEDB.4.0,c:        rade.mdb;admin;,表名)

SELECT*

FROMsqltablename

-------------------------------------------------------------------------------------------------











2、SQLSERVER和EXCEL的数据导进导出



1、在SQLSERVER里查询Excel数据:

--======================================================

SELECT*

FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,

DataSource="c:ook1.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0)...



上面是个查询的示例,它经由过程用于Jet的OLEDB供应程序查询Excel电子表格。

SELECT*

FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,

DataSource="c:Financeaccount.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0)...xactions

-------------------------------------------------------------------------------------------------



2、将Excel的数据导进SQLserver:

--======================================================

SELECT*intonewtable

FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,

DataSource="c:ook1.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0)...



实例:

SELECT*intonewtable

FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,

DataSource="c:Financeaccount.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0)...xactions

-------------------------------------------------------------------------------------------------



3、将SQLSERVER中查询到的数据导成一个Excel文件

--======================================================

T-SQL代码:

EXECmaster..xp_cmdshellbcp库名.dbo.表名outc:Temp.xls-c-q-S"servername"-U"sa"-P""

参数:S是SQL服务器名;U是用户;P是暗码

申明:还能够导出文本文件等多种格局



实例:EXECmaster..xp_cmdshellbcpsaletesttmp.dbo.CusAccountoutc:        emp1.xls-c-q-S"pmserver"-U"sa"-P"sa"



EXECmaster..xp_cmdshellbcp"SELECTau_fname,au_lnameFROMpubs..authorsORDERBYau_lname"queryoutC:authors.xls-c-Sservername-Usa-Ppassword



在VB6中使用ADO导出EXCEL文件代码:

DimcnAsNewADODB.Connection

cn.open"Driver={SQLServer};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"

cn.execute"master..xp_cmdshellbcp"SELECTcol1,col2FROM库名.dbo.表名"queryoutE:DT.xls-c-Sservername-Usa-Ppassword"

-------------------------------------------------------------------------------------------------



4、在SQLSERVER里往Excel拔出数据:

--======================================================

insertintoOpenDataSource(Microsoft.Jet.OLEDB.4.0,

DataSource="c:Temp.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0)...table1(A1,A2,A3)values(1,2,3)



T-SQL代码:

INSERTINTO

OPENDATASOURCE(Microsoft.JET.OLEDB.4.0,

ExtendedProperties=Excel8.0;Datasource=C:        raininginventur.xls)...

(bestand,produkt)VALUES(20,Test)

-------------------------------------------------------------------------------------------------

总结:使用以上语句,我们能够便利地将SQLSERVER、ACCESS和EXCEL电子表格软件中的数据举行转换,为我们供应了极小气便!



参考:

http://www.itrain.de/knowhow/sql/transfer/adhoc/




最近由权威调查机构Evans数据公司进行的一项调查显示,MySQL在过去两年已经获得了25%的市场份额。该调查公司还预测,相比其他的开源数据库和闭源数据库。

莫相离 发表于 2015-1-19 23:12:04

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

仓酷云 发表于 2015-1-25 19:40:42

入门没那么困难,精通没那么容易

愤怒的大鸟 发表于 2015-2-3 17:49:40

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

乐观 发表于 2015-2-9 04:18:58

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

小魔女 发表于 2015-2-26 21:41:45

如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。

冷月葬花魂 发表于 2015-3-8 18:12:59

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

再现理想 发表于 2015-3-16 10:05:40

财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..

灵魂腐蚀 发表于 2015-3-22 22:10:39

总感觉自己还是不会SQL
页: [1]
查看完整版本: MYSQL教程之SQL SERVER 与ACCESS、EXCEL的数据转换...