沐浴阳光的SK猫

享受黑夜,期盼黎明

[置顶] 不停奔跑,不断超越 [跑步记录]

[置顶] Firefox插件整理[更新为Firefox3]

《SQL Server 2000存储过程与XML编程》学习笔记


SQL Server 2000存储过程与XML编程(第2版)
又名: SQL Server 2000 Stored Procedure & XML Programming,Second Editon

译者: 石朝江 / 谢俊 / 陈浩奎
作者: [美]桑德里克
ISBN: 9787302077343

 

 

去年的时候拿着同事的借书证有幸一读,无奈没多久同事就去了外地,匆匆还了书取消了借书证,还没读完,有点遗憾,只留下几句笔记

More...

SQL 2005导入Access和Excel文件


晚上在给SQL 2005导入Access数据库,语句如下

INSERT INTO [dbo].[ixunlei]...... 
 SELECT ...... 
 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source="....mdb"')...[.....]

然后提示出错

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 

因为SQL2005默认是没有开启'Ad Hoc Distributed Queries' 组件,开启方法如下

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

接着就可以导入Access了,导入Excel也一样需要开启

[未与信任 SQL Server 连接相关联]解决方法


企业管理器可以正常登陆,可是ASP页面却出错,无论怎么改用户/密码、别名,都没用,出错信息如下

Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e4d'

[Microsoft][ODBC SQL Server Driver][SQL Server]用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。

/conn.asp,行7


该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:

  1、 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server;
  2、 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡;
  3、 在"身份验证"下,选择"SQL Server和 Windows "。
  4、 重新启动SQL Server服务。
blog.21ido.com

  在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,那么我们将遇到一个两难的境地:首先,服务器只允许了 Windows 的身份验证;其次,即使使用了 Windows 身份验证仍然无法连接上服务器。这种情形被形象地称之为"自己把自己锁在了门外",因为无论用何种方式,用户均无法使用进行连接。实际上,我们可以通过修改一个注册表键值来将身份验证方式改为 SQL Server 和 Windows 混合验证,步骤如下所示:

  1、点击"开始"-"运行",输入regedit,回车进入注册表编辑器;
  2、依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
  3、在屏幕右方找到名称"LoginMode",双击编辑双字节值;
  4、将原值从1改为2,点击"确定";
  5、关闭注册表编辑器

数据查询优化的方法[转]


1.mmf用IN来替换OR
下面的查询可以被更有效率的语句替换:
低效:
SELECT field1, field1 FROM LOCATION
WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30

高效
SELECT field1, field1 FROM LOCATION
WHERE LOC_IN IN (10,20,30)

2.mmf连接多个扫描
如果你对一个列和一组有限的值进行比较, 优化器可能执行多次扫描并对结果进行合并连接.
举例:
SELECT * FROM LODGING
WHERE MANAGER IN (‘BILL GATES’,’KEN MULLER’);

优化器可能将它转换成以下形式
SELECT * FROM LODGING
WHERE MANAGER = ‘BILL GATES’
OR MANAGER = ’KEN MULLER’;

……

More...

当批量导入数据时


如果我们有大批量的数据要导入数据库
大家都遇见过这样的问题,
导入要花很长的时间,
有的时候机器如同死机一样,
其实是我们执行


EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'

--这个语句的意思是,通知sql之后将有大批量数据批量导入,
--请sql 不要给每个数据创建回滚记录,
--这样sql就会很快的进行插入操作.

GO
insert into ......
GO

EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'
--等插入完成后,再通知sql重新进入数据安全记录状态.
分页:«1»

日历

<< 2010-9 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

最近发表

Search

站点统计

  • 本博客建于03年9月26日,在这2538天里,共发表文章292篇,平均每8.69天发表1篇
  • 文章被浏览了191429次,平均每天被浏览75.4次,平均每篇文章被浏览655.6次
  • 评论总数275,平均每9.23天新增1条评论,平均每篇文章被评论.94次

图标汇集

  • 收藏到del.icio.us 订阅到抓虾 订阅到 Bloglines 订阅到和讯 订阅本站的 ATOM 1.0 新闻聚合 订阅本站的 RSS 2.0 新闻聚合 Google Sitemap Baidu Sitemap 本站文章遵从创造共有协议 推荐使用1024以上分辨率浏览本站 本站采用UTF-8编码 本站基于Z-Blog系统

BBS | About | GuestBook | SiteMap | RSS | Login
Copyright 2005-2008 21ido.com. All Rights Reserved.
Powered by Z-Blog 1.8 Arwen Build 81206 | Skin by coolmud
粤ICP备05022506号