仓酷云

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

[学习教程] MSSQL网站制作之SQL SERVER与ACCESS、EXCEL的数据转换

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:26:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
刚安装好的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:46 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
简单生活 该用户已被删除
板凳
发表于 2015-1-22 20:35:17 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
活着的死人 该用户已被删除
地板
发表于 2015-2-6 19:17:19 | 只看该作者
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
兰色精灵 该用户已被删除
5#
发表于 2015-2-18 09:06:18 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
乐观 该用户已被删除
6#
发表于 2015-3-6 04:04:40 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-12 20:37:39 | 只看该作者
入门没那么困难,精通没那么容易
再见西城 该用户已被删除
8#
发表于 2015-3-20 02:30:56 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-3-13 03:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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