易截截图软件、单文件、免安装、纯绿色、仅160KB

用SQL查询分析器操纵Excel及导入导出数据

用SQL查询分析器操纵Excel及导入导出数据
http://www.delphibbs.com/keylife/iblog_show.asp?xid=32983
SQL SERVER 和EXCEL的数据导入导出
通常的方法是使用图形界面的dts工具,但发觉有些使用命令行界面的方式更简单
1、在SQL SERVER里查询Excel数据:
-- ======================================================
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
-------------------------------------------------------------------------------------
2、将Excel的数据导入SQL server :
-- ======================================================
SELECT * into newtable
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
-------------------------------------------------------------------------------------
结论: 这两个功能都使用了openDatasource函数来返回一个专用的数据库服务器,作为4部分名称的第一部分。
OPENDATASOURCE ( provider_name, init_string )
provider_name: 如Sqloledb, Microsoft.Jet.OLEDB.4.0等
init_string: 连接字符串,如'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0'
提供了服务器名,对Excel来说就是文件名
      用户ID,密码
      Extended properties: 我试了填Excel 5.0 或8.0都可以,其他不行
最后的[Sheet1$]是页名,这里当做表名用,注意一定要加上$
另外一个例子,用来取其他sql server服务器上的数据:
SELECT   *
from      OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=ServerName;User ID=MyUID;Password=MyPass'
         ).Northwind.dbo.Categories
哈哈,眼熟多了吧,一样的!
但是这个用法只用于ad hoc, 对于大量的操作还是用linked server比较正规, linked server这么加:
EXEC sp_addlinkedserver 'Excel',
   'Jet 4.0',
   'Microsoft.Jet.OLEDB.4.0',
   'D:\book1.xls',
   NULL,


相关文档:

Sql Server 对xml类型的操作

 declare @XML XML
SET @XML='<root>
 <OLDVALUE>
  <H_Action id="1130">030</H_Action>
  <D_Action>030</D_Action>
  <OrderCompany>00220</OrderCompany>
  <OrderNumber>10004035</OrderNumber> ......

清理SQL Server 2008数据库日志

清理SQL Server 2008数据库日志
收藏



第一步, 在收缩前先查看日志的大小:
SELECT

*
from
sysfiles
WHERE
name
LIKE
'
%
LOG
%'
GO
 
第二步, 把数据库的恢复模式设成”简单”:
ALTER

DATABASE
库名
SET
......

SQL行转列的动态构造方法

SQL行转列的动态构造方法
/*假设有张学生成绩表(tb)如下:
姓名 课程 分数
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- ---- ----
李四 74 84 94
张三 74 83 93
-------------------
*/
create t ......

Oracle SQL优化2

Oracle SQL 的优化规
一:尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替 ,用IN写出来的SQL,的优点是比较容易写及清晰易懂,但是用IN的SQL
性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:
      ORACLE试图将其转换成多个表的连接,如果转换 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号