仓酷云

标题: MSSQL网站制作之SQL SERVER与ACCESS、EXCEL的数据转换 [打印本页]

作者: 山那边是海    时间: 2015-1-16 22:26
标题: MSSQL网站制作之SQL SERVER与ACCESS、EXCEL的数据转换
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码access|excel|server|数据|转换熟习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)...[Sheet1$]
上面是个查询的示例,它经由过程用于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)...[Sheet1$]
实例:
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)...[Filiale1$]
(bestand,produkt)VALUES(20,Test)

总结:使用以上语句,我们能够便利地将SQLSERVER、ACCESS和EXCEL电子表格软件中的数据举行转换,为我们供应了极小气便!
MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。
作者: 爱飞    时间: 2015-1-18 18:20
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
作者: 简单生活    时间: 2015-1-22 20:35
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
作者: 活着的死人    时间: 2015-2-6 19:17
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
作者: 兰色精灵    时间: 2015-2-18 09:06
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
作者: 乐观    时间: 2015-3-6 04:04
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
作者: 冷月葬花魂    时间: 2015-3-12 20:37
入门没那么困难,精通没那么容易
作者: 再见西城    时间: 2015-3-20 02:30
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2