QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5161|回复: 1
打印 上一主题 下一主题

SQL Server连接失败错误及解决

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-11-19 10:28 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者 OLE DB 等连接 SQL Server。下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
2 _* ~/ {$ T0 c, l- \; y8 O" r! W
9 x; {' W# x9 Z2 i  一、客户端工具连接失败
8 e. k; T. o& z" v( j4 y5 l8 s4 l/ Z! {) M$ }& f  m3 R5 }
  在使用 SQL Server 自带的客户端工具(以企业管理器为例)连接 SQL Server时,最常见的错误有如下一些:) j/ \/ ~3 y# j8 k! B1 M, b3 q
# ]) X7 W+ p8 \3 `; f, ~
  1、SQL Server 不存在或访问被拒绝% ?1 \" Q. u& l' Q. X
, {; ^1 I' h. a# h6 d2 ]0 J
    ConnectionOpen (Connect())
/ e- s7 {, R# X; e' T8 |+ d- A5 \# ^- y+ }2 v, N$ o4 g7 c. e
  1 x5 w1 }# m) }) E' U  m

8 M- a  d4 r4 @4 n* U/ R# n! ], W9 l$ Q4 x1 O: s$ g8 A9 b
& Z4 T2 v2 A) |" z% m

. Y, p/ ~0 \, O& `1 S" b! U  I  2、用户'sa'登录失败。原因:未与信任 SQL Server 连接相关联。: x7 X2 V6 m7 r, j& y

: k, N& o4 `% a. V* P, q  - z& h: L5 I/ t" X

% [# ^1 O3 o. K$ E! d4 f3 Q* X2 Y/ y3 R

/ x$ S% J4 C5 k  y6 f) I5 h5 N
0 t& d0 x& h: t* p  3、超时已过期。/ |$ f- M! T) V! f+ ]& ]$ O% T" w

; T; r* [. q+ d/ Y: N. _  
' J+ X3 y7 }5 a+ T7 h; q0 t5 d8 C' k$ S/ P5 x! B9 i# ~8 T
* B; U. C: y# O9 V: N) C6 `
下面我们依次介绍如何来解决这三个最常见的连接错误。
  N0 B. X$ [/ ?# j  m& D% z5 c9 t# f: e& v, F& c/ f
  第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性:
) i3 F8 C4 d5 O9 t8 H$ I+ y6 d) l7 k
  1、SQL Server名称或IP地址拼写有误;" W3 Z- t2 t* N) p) I# V5 F

0 |2 B2 c& L# c! I# E; u6 J3 d/ }/ Y" {  2、服务器端网络配置有误;
1 T5 O2 t' m7 X& h, Y- m! d7 Q% K0 {2 x6 N
  3、客户端网络配置有误。
: Q4 ?9 K+ U9 Y! M& r$ A' L  Z9 P& H1 m/ J
  要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
6 p$ C3 |7 D2 m4 a
# v+ t2 l& s9 B/ `% S  首先,检查网络物理连接:3 D  X4 }5 A+ O  w' _. O" T

3 R7 g9 q4 R; p  v: B1 z0 O   ping <服务器IP地址>
+ b, i! F4 @+ `8 ]+ ^( g 7 h# E, ~# N0 R
  或者
  T9 k( Z1 R1 i: |/ `/ r) h$ z, k
2 b8 ]2 m, }; u, P% X6 H, u( `   ping <服务器名称>. t1 r4 L* G7 `: m, j
9 y& |2 g8 b6 J1 J' {
  如果 ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server。防火墙软件可能会屏蔽对 ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。6 ]: c; N" h! c: L* `# V
8 F1 n- H* ]" `7 w# N
  如果ping <服务器IP地址> 成功而 ping <服务器名称> 失败,则说明名字解析有问题,这时候要检查 DNS 服务是否正常。有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:
7 Y" u9 J, ~. }" Y  _& G9 `. E
& `' f$ T- y) z# b3 h9 A  1、使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).& \6 X  L* N4 |+ R! ^2 o' _
1 D5 I$ `4 R& x$ k3 i
  2、添加一条IP地址与服务器名称的对应记录,如:
  ]6 E6 e+ p- g. w) _5 W. u' z! v1 H
    172.168.10.24 myserver
$ V3 X) |% ~2 f1 ]. D  X% `
1 F5 L# {% p1 w: t+ L) }3 e; w. V  也可以在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明。/ Q- Q  L) M+ [1 C! U
% S/ L2 x  Y# b) u
  其次,使用 telnet 命令检查SQL Server服务器工作状态:
8 Y6 `, M( p* d. N
2 [1 G$ Y# l- [, M   telnet <服务器IP地址> 1433/ {6 I8 Y; v: u* z* b
! d3 L2 L, ~- n$ t# a1 `
  如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接;如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。
* j4 ^, d; U) r( O) n0 [% y* X& \7 j2 k$ ]+ B+ P% d$ S4 V3 L* O
  接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道,是否启用了 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具来进行检查。
( e  u$ J0 S8 e2 T( @* a) [
5 M& Z0 ~% u) r6 w9 T1 W/ r  点击:程序 -> Microsoft SQL Server -> 服务器网络使用工具,打开该工具后看到的画面如下图所示:. G$ X2 J5 ]$ ?- f0 t- q/ H: ^
5 h. ~5 V3 _) w2 o
  + f; v) E2 h& w; _
8 l% ~" t8 N3 a0 f

+ o( I* X: S, l. `  c# s  从这里我们可以看到服务器启用了哪些协议。一般而言,我们启用命名管道以及 TCP/IP 协议。5 {3 B* l2 M2 w8 S, V

  z5 w1 N6 k6 N) v* b  点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置,如下图所示:2 T+ @1 ^9 k/ q2 R
  S  h* c0 |. `
  
" x* H* J& {% a9 F* S7 _# C" h% \+ E# X
2 z4 u. L: w9 O6 L
/ j) E! P# H2 }: {+ a1 d0 L7 }

# w# d+ I& W- ^/ O! U  一般而言,我们使用 SQL Server 默认的1433端口。如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接。
, N7 U* {: `/ K2 k& C; t; `4 [1 q( @$ H0 y
  检查完了服务器端的网络配置,接下来我们要到客户端检查客户端的网络配置。我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具。
! I4 t1 a! b% Y* q7 p7 L* \/ n# j* S( Q2 |2 w4 T# b( @
  点击:程序 -> Microsoft SQL Server -> 客户端网络使用工具, 打开该工具后看到的画面如下图所示:
3 k# t# i1 x5 k" V. q; S1 S% F3 K$ C8 \& w- W
  & K6 l) s* M1 L) ?0 r1 `  c
6 J8 S' c1 ~: j, ?

8 K9 V1 U# W* G. ^' D1 E! F! k: `  从这里我们可以看到客户端启用了哪些协议。一般而言,我们同样需要启用命名管道以及 TCP/IP 协议。
' c+ E! p+ z3 L( J; s; J  H: J  e; g5 ^+ B4 m7 u+ L. Z
  点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,如下图所示。
; F+ D1 a2 D. _, \% K/ \
. ?) g8 I4 c; I- k  
2 P, a! G' }& [7 Y7 ?: x( I' a/ Y0 H) {, U9 ?2 R

( h: [# S2 H( F6 n/ L  该端口必须与服务器一致。
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

单击"别名"选项卡,还可以为服务器配置别名。服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。如下图中,我们可以使用myserver来代替真正的服务器名称sql2kcn-02,并且使用网络库 Named Pipes。别名的设置与使用HOSTS文件有相似之处。. C- v% t/ j. ^' _
! y2 M6 `  X- C! ]3 T$ f
  
0 d% y# }5 @1 U& ~" I1 Y5 }通过以上几个方面的检查,错误 1 发生的原因基本上可以被排除。下面我们再详细描述如何来解决错误 2。% z* P) U5 C9 b8 q

8 j& }) h1 h0 ^  当用户尝试在查询分析器里面使用sa来连接SQL Server,或者在企业管理器里面使用sa来新建一个SQL Server注册时,经常会遇到如图 2 所示的错误信息。该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:+ h: B$ S" {/ g# N6 X- t
, V1 l; \0 M. s6 M: S/ n9 ~
  1、 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server;' O# a; v: N7 F+ Z
: c! p* \1 p% S& p0 t
  2、 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡;
2 n( ~- H4 }/ f, I; L. \8 h5 {0 g6 F; u; `' r# y) Y! G
  3、 在"身份验证"下,选择"SQL Server和 Windows "。
, M7 m4 e7 a  J! i. H5 R/ c7 {, |5 O* J* R
  4、 重新启动SQL Server服务。
) g$ \/ b$ Z3 i% g4 T
/ i+ w7 G! H* Y4 p  在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,那么我们将遇到一个两难的境地:首先,服务器只允许了 Windows 的身份验证;其次,即使使用了 Windows 身份验证仍然无法连接上服务器。这种情形被形象地称之为"自己把自己锁在了门外",因为无论用何种方式,用户均无法使用进行连接。实际上,我们可以通过修改一个注册表键值来将身份验证方式改为 SQL Server 和 Windows 混合验证,步骤如下所示:
5 u8 X4 Q9 z6 W7 y5 ^2 v& k2 R
/ N  I' u8 I- f  Q2 c/ T  1、点击"开始"-"运行",输入regedit,回车进入注册表编辑器;
. `9 U5 r7 c+ ]+ d2 A$ }% i* l5 {+ A; f" j( b: h% f: y( L! G3 t+ [# C
  2、依次展开注册表项,浏览到以下注册表键:
# x7 v0 C9 B% I/ N2 I' Z) X$ s" g3 W8 w: r8 G' x' a
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]4 S. l! J" z3 p0 t1 f; S
+ D  F% _, h4 \) Y; _
  3、在屏幕右方找到名称"LoginMode",双击编辑双字节值;
! r, K% @1 R; L' a
+ K, Y9 I1 A& z/ A2 I/ M# B  4、将原值从1改为2,点击"确定";
0 Y+ r; ~; O" e5 I% }" s
4 c& I; ^% C8 f! `( {4 n# R  5、关闭注册表编辑器;
: B, K# ]( q+ |9 ~8 W+ g+ f1 ~& V1 T1 k6 y
  6、重新启动SQL Server服务。
# Q3 T* O7 K/ m1 u7 \$ o+ a
. S1 _2 C/ b/ m: H0 K  此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server。这是因为在 SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators 以及 <机器名>\Administrator 被删除。要恢复这两个帐户,可以使用以下的方法:8 P# u: v* B" \7 j

" f) v6 J5 b/ D" N2 x6 f* y  1、打开企业管理器,展开服务器组,然后展开服务器;
9 a# z2 \8 _* |6 `
. p7 ]1 p/ m5 {" b) \) n  2、展开"安全性",右击"登录",然后单击"新建登录";+ n' l% b; z) B0 w- l

9 G# V6 P0 p& x8 {  3、在"名称"框中,输入 BUILTIN\Administrators;3 ^5 T0 _1 d% i% r* j
8 X4 {/ U- c9 i/ c0 u- M# d
  4、在"服务器角色"选项卡中,选择"System Administrators" ;; h/ r% p  r2 E2 q0 i% K2 O

9 V! H8 f5 [6 |5 {  5、点击"确定"退出;
- x5 o$ k- x* Z3 E7 J; }* U5 t( P: S* M9 b+ V8 c
  6、使用同样方法添加 <机器名>\Administrator 登录。
7 S: D" M* K' j0 ]/ i1 s+ K1 p+ g% k5 b  Z; U5 D7 D% m
  以下注册表键, `8 p9 @$ d( X2 r; c
; ^8 k5 ]. T1 g7 L$ E! w
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode( ^+ U+ [6 Q% O1 E

0 \1 Q* h! O0 ]  的值决定了SQL Server将采取何种身份验证模式。该值为1,表示使用Windows 身份验证模式;该值为2,表示使用混合模式(Windows 身份验证和 SQL Server 身份验证)。, o. q* t( G$ [% n6 V3 L  s

. v/ O$ I6 l) w) W# `. e$ j  看完如何解决前两个错误的方法之后,让我们来看一下如图 3 所示的第三个错误。
7 M( ^. \! l* q8 F6 \* J. o- J- S& x) r
  如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。有些情况下,由于局域网的网络问题,也会导致这样的错误。
3 l4 ?2 m7 m' I7 K
5 _+ @) U5 x: @* e9 w  要解决这样的错误,可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因)。具体步骤为:
; N1 l) P1 D. g! O
# a9 ]1 a2 }9 ?- A3 n' O0 h  1、在企业管理器中,选择菜单上的"工具",再选择"选项";
" S  W6 V8 W1 }" S8 w
0 U( m6 j  g( N. o$ y: ?  2、在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡;
( Q6 z7 {/ v2 t" r. R3 i4 ]. |" V7 x# A; {
  3、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20。
+ \0 P. u5 S2 c* t( w' @* l: y1 J( K; r3 c2 z, f0 i
  查询分析器中也可以在同样位置进行设置。 <>! ^& a( {6 l; B. [* {, Y
二、应用程序连接失败
$ D5 l+ v$ L, J! B+ f" u
1 l, N" B+ V; ]  E" Q6 V4 I2 ?  以上的三种错误信息都是发生在 SQL Server 自带的客户端工具中,在应用程序中我们也会遇到类似的错误信息,例如:6 A- X1 v! |  G$ Q

  w% g1 c2 g& u5 E. a5 }Microsoft OLE DB Provider for SQL Server (0x80004005)
( s/ c( a$ F& \: |; ^, ^' M[DBNETLIB][ConnectionOpen (Connect()).]Specified SQL server not found.# f$ q1 v/ A4 _2 W$ \; j
- e" W1 G8 @: T- a$ O
Microsoft OLE DB Provider for SQL Server (0x80004005)
) \( o/ ^) U# M4 i9 n5 ~用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
% D# y& x) f5 R/ Q: Z6 z( h8 J/ `8 O) X' r; B; V2 X% U& N0 n
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'.1 C6 K6 C) {( u3 \$ p
[Microsoft][ODBC SQL Server Driver]超时已过期.
6 g. K; a4 k% y, K; m/ K( K$ P/ D1 n% @3 v  O$ U3 I
  首先,让我们来详细看以下的示意图来了解一下使用 ODBC 和使用 OLE DB 连接 SQL Server 有什么不同之处。+ N. R$ Y- E# W. z8 _9 q4 _
$ ^- P. e1 [9 y
  
- M( l8 S& ?+ f5 Z! h- H: b8 O" a% s$ r9 a8 t

0 _1 f5 N3 }; G; E4 N* j  从上图中,我们可以看出在实际使用中,应用程序创建和使用各种 ADO 对象,ADO 对象框架调用享用的 OLE DB 提供者。为了访问 SQL Server 数据库,OLE DB 提供了两种不同的方法:用于 SQL Server 的 OLE DB 提供者以及用于 ODBC 的 OLE DB 提供者。这两种不同的方法对应于两种不同的连接字符串,标准的连接字符串写法如下所示:
0 o- p5 l1 R, x, G
5 u8 U- @. D' a  1、使用用于 SQL Server 的 OLE DB 提供者:
" d- O( w3 F4 p1 x0 o% h3 ?& @9 t7 A  N
  使用 SQL Server 身份验证:: a9 b& R3 Q/ c( r/ v; @

& I( K+ {7 S( XoConn.Open "rovider=sqloledb;" &amp; _
8 T+ F& @% j4 b6 D) ?"Data Source=myServerName;" &amp; _) C- `* a: d% n/ W% z; F2 e$ k% Q* k
"Initial Catalog=myDatabaseName;" &amp; _
: L- N- s& t" U"User Id=myUsername;" &amp; _, K- x! y: R* G+ d& O8 K! h
"assword=myPassword"1 z. D9 p0 ?- n) e( z3 H
6 u* L' k; l5 y: G/ ?
  使用 Windows 身份验证(信任连接):/ m7 {, N5 l- f: Y. q  P: @/ {
1 J$ R# b3 l/ G  P1 }
oConn.Open "rovider=sqloledb;" &amp; _
0 u8 W; \( t7 q: Y"Data Source=myServerName;" &amp; _
7 m" \$ L+ Z$ b# M* g"Initial Catalog=myDatabaseName;" &amp; _
# u3 H/ v3 |( z"Integrated Security=SSPI"
, j* b0 f( A8 H" G) p7 e8 y( ]1 z
$ t+ W3 n0 Q- p% `! v  2、使用用于 ODBC 的 OLE DB 提供者(不使用 ODBC 数据源):
1 o  [0 a( R' v2 l7 o! n, f4 A0 X9 O# Q9 b. S& j
  使用 SQL Server 身份验证:
; N8 B) @$ U, k0 |/ g
: ]0 B- L  F& C/ o* M) T2 xoConn.Open "Driver={SQL Server};" &amp; _ 6 y6 @9 O9 J# _# g& L- h# K
"Server=MyServerName;" &amp; _& t. O2 N! g; x2 r! w# p- L7 ]
"Database=myDatabaseName;" &amp; _! [6 \* A2 r4 C- V, v
"Uid=myUsername;" &amp; _' `9 l  X8 k4 ]8 k- w, u# J+ l
"wd=myPassword"% K5 p1 h8 a/ U1 _8 W

- V) }% H7 h& o  使用 Windows 身份验证(信任连接):1 S! S9 E  f- i2 k. Q- ^

; \1 ^. \/ |0 S; e" s$ ~oConn.Open "Driver={SQL Server};" &amp; _
/ y7 Z7 r- p1 {6 m* q8 b3 P4 G"Server=MyServerName;" &amp; _( p( m- ?. v! l6 A: M  ^
"Database=myDatabaseName;" &amp; _. m+ Y/ V! `! _, e6 `( M4 i4 [- z
"Trusted_Connection=yes"
0 G, W; P1 \5 s$ |' N
- c: o9 p. {8 o7 }  3、使用用于 ODBC 的 OLE DB 提供者(使用 ODBC 数据源):
+ V4 h0 Q) _. w) C( i4 ?. z3 b( {/ r9 I1 H) z8 d5 K% U: P( Z  D
oConn.Open "DSN=mySystemDSN;" &amp; _
' M& m0 W/ U# q% A" x) S"Uid=myUsername;" &amp; _
' u7 ^. R: G0 o6 y$ c* o"wd=myPassword"
- g: x9 D1 ^9 N8 }; q( {3 Z8 d5 L
  如果遇到连接失败的情况,我们只要按照一中所示的方法,结合程序中的连接字符串进行检查,基本都能得到解决。另外,还有以下几个要注意的地方:
) n3 p1 F1 C3 i
1 |3 c% R5 N  d2 F- I  1、配置 ODBC 数据源时,点击"客户端"配置选项可以让我们指定连接使用的网络库、端口号等属性,如下图所示:& i1 {: R' W8 e: e- O8 H

2 G1 w' e% o$ i# O" ]' B+ G$ P8 m   7 q: [7 W5 r+ D# u
% `2 e& ]4 V2 K) I/ H, p' r3 \

- H* w: ^& e" o8 V/ c4 A! Y/ J) c
9 m0 W! |% m0 O) L* N8 v  2、如果遇到连接超时的错误,我们可以在程序中修改 Connection 对象的超时设置,再打开该连接。例如: " z% W; ]" U+ X
! \; q- I# l3 t% G; u, k7 I
</P><>&lt;%9 x/ ]: z  p0 O: k* n
Set Conn = Server.CreateObject("ADODB.Connection")
) b4 T3 U$ ?2 N0 |+ ?8 I3 a" zDSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USERWD=password;DATABASE=mydatabase"( }2 ]: F  J4 \, y
Conn. Properties("Connect Timeout") = 15 '以秒为单位
1 P$ j5 I. Y8 |% @0 ^$ d7 u; lConn.open DSNtest
; i- c5 ^8 J; F" N%&gt;</P><>
4 @* x" z3 u' Q7 P  3、如果遇到查询超时的错误,我们可以在程序中修改 Recordset 对象的超时设置,再打开结果集。例如:# E# L1 s/ E/ @  V6 v" t9 t

; B7 ~& H% U9 J3 U+ g</P><>Dim cn As New ADODB.Connection' Y' D) B! ^6 j" \# X& \
Dim rs As ADODB.Recordset
3 R$ I/ H' V" Q0 W. . . 5 H6 ?& _1 o3 Z3 P. S; b& L
cmd1 = txtQuery.Text
8 x+ z) |: C) j+ D5 bSet rs = New ADODB.Recordset6 J# \9 f/ Y) m! H" S
rs.Properties("Command Time Out") = 300! s8 w7 T; |- E1 k1 r
'同样以秒为单位,如果设置为 0 表示无限制
# H$ A7 C0 s' N. c, Yrs.Open cmd1, cn9 N+ H; G$ z) V0 \" p& A3 K* G
rs.MoveFirst$ A7 X4 ~- h- b) Z& ~
. . . </P><>
; l7 Y- r$ n. L: C- n  m  C  <B>三、小结</B>$ }/ T; }( }. t2 U; w
5 e( h' ^5 c  o/ C& S6 E8 `; h
  本文针对大部分用户在使用 SQL Server 过程中常见的连接失败的错误,重点讨论了在使用 SQL Server 客户端工具以及用户开发的应用程序两种情况下,如何诊断并解决连接失败的错误。看过本文以后,相信每一个读者都会对 SQL Server 的连接工作原理、身份验证方式以及应用程序开发等有一个较为全面而深入的连接。本文中所有的测试或者示例均在 Windows 2000 Advanced Server + SQL Server 2000 企业版上通过。</P>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-8-9 19:52 , Processed in 1.075245 second(s), 56 queries .

回顶部