QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5210|回复: 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。下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。, d& t9 a7 {% y+ i! T' j

) U3 D: A* |* }  一、客户端工具连接失败
1 q. O0 @# B  V, ?! D2 _% Z2 n* E8 `8 a" q
  在使用 SQL Server 自带的客户端工具(以企业管理器为例)连接 SQL Server时,最常见的错误有如下一些:& ^) H8 J! f1 O+ [$ X) P# \
8 t2 G/ j" ]! h/ m9 x
  1、SQL Server 不存在或访问被拒绝2 N' \% X6 w) Z' V9 h0 Z

( Z4 x2 L, m$ J% _( t" J* g    ConnectionOpen (Connect()): t5 g( B4 L4 [* H# ]4 D

4 [# O1 m( M+ H7 e, v5 X" p  
4 n) b% H8 K9 H, L5 A. w0 k; ?- V( l# W# n5 N5 r

+ A0 Q2 v% Y" V9 X/ p5 |, ~! ]* l+ t. t9 ~& ]
  h+ ~! x2 `6 f3 v0 ^
  2、用户'sa'登录失败。原因:未与信任 SQL Server 连接相关联。
5 ~0 Y- f# c- Y0 y  l2 D, f$ G2 B
4 t! W9 E! O$ B* A8 K  ; K9 }2 W1 p7 S! T. Q" J- j
" w/ G5 s  q4 w

* n3 i; I3 L, t5 b3 J2 C0 i3 g6 H/ m
% f; s2 e2 U2 ~' Y
  3、超时已过期。' g5 f, j! f* t8 U% p5 D0 z" E
" V  L0 M: {, m: Q/ z" _! j
  
. [: o" o; @7 h* h
9 h% ]5 `5 `+ F: d8 p
+ d& x9 z- R$ o! L* e下面我们依次介绍如何来解决这三个最常见的连接错误。
" X. ?8 g* _* h0 p5 [; c1 q! U
4 v8 A. ^6 a' k5 \8 N; p  第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性:- w0 a7 }: f0 \4 W" _( s

) r) C2 I) X# g2 b; Q% c  1、SQL Server名称或IP地址拼写有误;) q0 _0 F( D$ `1 P$ J
# D& B7 U7 A( l7 C7 I7 D
  2、服务器端网络配置有误;) y* o7 R% X1 G) o5 R" n
+ C0 O  s; m; \$ T% t
  3、客户端网络配置有误。
% g6 j6 \; q- o: ^& O" V) y& ~% W3 `9 @$ J" S6 Y4 d
  要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。+ v& T; g" n2 A4 r7 n& v( F3 ~/ X
. k) @7 t8 [# R! U5 U
  首先,检查网络物理连接:7 L0 \( M8 Y! d& ~" T' {

+ |1 N; `$ A  P; R, ^   ping <服务器IP地址>
" y: s9 }4 f) @   M: {. s  R8 a- ~7 a
  或者/ W, z* T6 ^- e; L; E6 F8 p, @
/ }  r( t( k5 L
   ping <服务器名称>4 n, E* W$ K  W

2 G1 _' I0 e, ]9 u! M5 a  如果 ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server。防火墙软件可能会屏蔽对 ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
0 x+ \% u2 w+ m/ v6 k
) t  N; w+ L$ ?+ p4 n  如果ping <服务器IP地址> 成功而 ping <服务器名称> 失败,则说明名字解析有问题,这时候要检查 DNS 服务是否正常。有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:% C( M- H, z. M4 i+ q

( Q; G2 m. X/ o5 n5 K  1、使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).
" X0 G- s( Y5 e# ]& M; |" ~! h. S7 T- N5 Y$ C
  2、添加一条IP地址与服务器名称的对应记录,如:
0 k& s6 a4 g; Z; G$ Y/ L9 C
9 Y5 v$ _! W% `( ^. I; A$ p    172.168.10.24 myserver
4 ]4 J. J; @4 i8 t
5 G' b+ ?- d9 ^% Y* c( V  也可以在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明。. Z8 p6 d. y% U' J
; j' z0 g/ o) J9 B+ |8 k
  其次,使用 telnet 命令检查SQL Server服务器工作状态:  b7 }9 @3 n) n8 ~' p. U
* X/ v' d. D, M% Z; P) Q$ v4 K. x3 H
   telnet <服务器IP地址> 1433+ ]/ n/ I% f# L  B6 e! m. n* ~% B
7 w0 b5 @! T3 z
  如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接;如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。
  G7 @1 i4 f; b. J) i  e# W
! j$ H- }" W$ V5 c1 I0 Q  接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道,是否启用了 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具来进行检查。# b0 l2 `3 c- O/ b
! |( l$ D. j3 j
  点击:程序 -> Microsoft SQL Server -> 服务器网络使用工具,打开该工具后看到的画面如下图所示:1 S# {) I9 C+ Q# ~
5 P' D# u' G& f1 A% c) T' E
  
+ [+ L5 G3 u/ e+ `/ X
; e/ H$ ~7 ~0 f
- k3 z/ `) x" h8 T  从这里我们可以看到服务器启用了哪些协议。一般而言,我们启用命名管道以及 TCP/IP 协议。
9 Z6 N/ M7 h6 ]+ G) o
+ }" O! M3 C8 N3 }- T8 ?" z  点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置,如下图所示:, g2 x- D; ]* p0 w4 ]* i! f+ C9 E
) ~; J. c% M3 X6 b  x) S
  
: |2 |( e6 R8 d) [$ n  _
" T* G, n6 U- M/ u5 q  N
( L( V3 `' k- E( z3 W( s5 t
- F$ |8 p7 ~" K7 F2 s$ j: x. ~$ Y2 v$ k# I
  一般而言,我们使用 SQL Server 默认的1433端口。如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接。
) n  w+ H* Y, ?1 J2 J
1 _7 ~, s2 @: W9 j: F  检查完了服务器端的网络配置,接下来我们要到客户端检查客户端的网络配置。我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具。
( }# b1 Q* K6 K0 j( Z3 v7 [$ t
# e$ X4 i  o( l9 W) n9 Z  点击:程序 -> Microsoft SQL Server -> 客户端网络使用工具, 打开该工具后看到的画面如下图所示:
& B0 u3 A: a& W( m- \8 f0 V- o7 |
  
' f2 z6 V4 ^2 n
6 Q1 t4 k) B/ w: B4 ~7 p4 r3 Z" Z8 u/ v9 X8 `  C8 J1 d. l% A
  从这里我们可以看到客户端启用了哪些协议。一般而言,我们同样需要启用命名管道以及 TCP/IP 协议。' g4 E1 Z- v$ P- e- B; h5 w  u/ e

: B1 l/ g' K/ Q# A5 W' y  点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,如下图所示。
$ w# ]0 R' s( p, z8 P& i0 H
# |! ~$ j/ j3 n, j: w4 E! S  
, _; c- [6 V9 o' i( O% ~3 O5 @1 }  F1 |& }5 n8 a
& {) q' T" U9 u- Y5 r  i
  该端口必须与服务器一致。
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

单击"别名"选项卡,还可以为服务器配置别名。服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。如下图中,我们可以使用myserver来代替真正的服务器名称sql2kcn-02,并且使用网络库 Named Pipes。别名的设置与使用HOSTS文件有相似之处。2 h% O+ J3 C, C* k, i" ^0 D

' ~. |' K$ h2 R" @  
$ X/ R& C" `; `6 n  j通过以上几个方面的检查,错误 1 发生的原因基本上可以被排除。下面我们再详细描述如何来解决错误 2。
" C+ K7 J' @" E' S" N/ ~9 T
; f' I  {3 u( F3 a) G  当用户尝试在查询分析器里面使用sa来连接SQL Server,或者在企业管理器里面使用sa来新建一个SQL Server注册时,经常会遇到如图 2 所示的错误信息。该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:& w0 j8 j* b7 @$ P- A( ~' o

; J/ B' a! `! ~  1、 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server;8 g* h  y" s8 a" {

6 v: U! E2 q0 w# l, H4 p# x6 ]- d1 C  2、 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡;* l7 j3 f& H" n, Y- ~, p9 B" Z. o

' E7 f! X* K1 m7 b* K1 ^  3、 在"身份验证"下,选择"SQL Server和 Windows "。7 D2 w# d, K6 ^/ K, Y* g3 Y
2 N6 x9 i, ^6 g
  4、 重新启动SQL Server服务。& K$ [9 |: s$ E' P

5 E; R& m$ l8 P% g* ~) V, b/ v  在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,那么我们将遇到一个两难的境地:首先,服务器只允许了 Windows 的身份验证;其次,即使使用了 Windows 身份验证仍然无法连接上服务器。这种情形被形象地称之为"自己把自己锁在了门外",因为无论用何种方式,用户均无法使用进行连接。实际上,我们可以通过修改一个注册表键值来将身份验证方式改为 SQL Server 和 Windows 混合验证,步骤如下所示:
9 l6 g! \9 ~/ a+ W9 ]' ~' s, s& l4 W  Q/ |: G
  1、点击"开始"-"运行",输入regedit,回车进入注册表编辑器;! T8 g: K$ L3 Y+ {8 t6 C
) \: F9 e6 Y! x2 I; o8 ?
  2、依次展开注册表项,浏览到以下注册表键:
: h; h: c. N( i2 y
9 h( M: N4 w* u$ `* [1 V: l[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
" l" x8 p- _$ z! v) h8 u" M$ Q( f
4 y. Z+ _8 ?- b8 n" d  3、在屏幕右方找到名称"LoginMode",双击编辑双字节值;- M/ s' ~; z: C! f3 m0 L( l
+ n+ v! O8 z* x9 I# R
  4、将原值从1改为2,点击"确定";, W  X& J: t2 R6 [

" M% f, j4 `. ~- {2 C, K( p/ H( c0 ]  5、关闭注册表编辑器;
3 C- @  M! T/ ]: h
& i# e/ Y" B/ I3 E& d& I  6、重新启动SQL Server服务。
) x( W" t, D/ G7 Y8 ^  f: F4 Q) q5 Z- l; F8 v
  此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server。这是因为在 SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators 以及 <机器名>\Administrator 被删除。要恢复这两个帐户,可以使用以下的方法:
! i* Z+ j/ t7 [8 I! B  k. _' v, I' ?' R; t% x; O% G
  1、打开企业管理器,展开服务器组,然后展开服务器;) v, j7 S1 }( a9 |. T

8 `' ?/ n/ A5 x) ^' U: q  2、展开"安全性",右击"登录",然后单击"新建登录";
7 W% J/ P: R5 J9 l1 f
# w8 G) J8 W+ Y* Z2 u1 {. r4 e  3、在"名称"框中,输入 BUILTIN\Administrators;1 ~( ?# D% }. ^: N
2 U* H# p: H- c# f
  4、在"服务器角色"选项卡中,选择"System Administrators" ;( Y) e! g/ Z/ ^2 {) ^# J

9 e9 m3 x# k6 f$ y  5、点击"确定"退出;" E6 c" v5 e1 g' b

8 T+ n$ V9 o9 U8 l1 ~" d  6、使用同样方法添加 <机器名>\Administrator 登录。
5 h& g1 ?- q" R  L2 s
% u* n! D6 ~& b$ y7 f5 h  以下注册表键0 L8 D( G* M4 ~  p  y! ]+ i
5 h1 y3 O+ t2 T8 i7 Z; o5 O
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode. J  U. |# w/ I0 _1 r- g8 |" |

# a3 Y) G" W; i1 `& Z" h2 I3 E7 o  的值决定了SQL Server将采取何种身份验证模式。该值为1,表示使用Windows 身份验证模式;该值为2,表示使用混合模式(Windows 身份验证和 SQL Server 身份验证)。$ P8 D: v2 D% k. i% u4 D
  l; _7 H2 @6 @
  看完如何解决前两个错误的方法之后,让我们来看一下如图 3 所示的第三个错误。
0 O, \* O8 L* `" G
) H# v! ~" j! A  如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。有些情况下,由于局域网的网络问题,也会导致这样的错误。/ y7 H: c) @- r) m
. G( Y& h. A" B' d! n- c/ B
  要解决这样的错误,可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因)。具体步骤为:
- a; ]+ a  F+ u  {2 b7 m. g* ~# l. P) P  E% _7 s' N
  1、在企业管理器中,选择菜单上的"工具",再选择"选项";
4 p! b2 F0 t3 H) b! l. C/ k
# l1 e2 L  W9 x9 @3 D  2、在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡;9 H6 e+ y# E& D/ y# I1 F
/ {: x7 z. o* ?
  3、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20。
* _( j; B) R5 x- e' E: Z$ @  ?0 W: ~6 ^) T6 N+ p
  查询分析器中也可以在同样位置进行设置。 <>
7 u# d6 ~: c% Y( Y% `& S! P二、应用程序连接失败3 ^  k3 C: P' \2 B4 c. n: v/ \4 s
6 ?$ F) A& G: u  e; _  u) l
  以上的三种错误信息都是发生在 SQL Server 自带的客户端工具中,在应用程序中我们也会遇到类似的错误信息,例如:
# q/ c8 _" y* y$ T6 e; ^% J$ i3 H/ E% l9 ?  C
Microsoft OLE DB Provider for SQL Server (0x80004005)+ Q/ b4 _# s. P- i0 r+ Z
[DBNETLIB][ConnectionOpen (Connect()).]Specified SQL server not found.
) ~% i1 {2 u. }) Z0 W* o3 M/ |' o- ^9 S
Microsoft OLE DB Provider for SQL Server (0x80004005)
4 \. o5 o/ D8 V  ?用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
1 H4 A5 u) ~2 v& v9 J
( h" w, `0 [" x1 g+ L8 hMicrosoft OLE DB Provider for ODBC Drivers 错误 '80004005'.. e" t% }. D4 Y' P( k7 Z
[Microsoft][ODBC SQL Server Driver]超时已过期.
; p0 A5 g; _% O4 X8 c' u! @2 h# s$ `! w' N# F: Q7 i8 ]# D* B
  首先,让我们来详细看以下的示意图来了解一下使用 ODBC 和使用 OLE DB 连接 SQL Server 有什么不同之处。, F$ w1 r, L6 x  Q) E; |

( D+ v7 f3 D' {6 x* A' c+ T% C2 x' C   ! j, T3 A- @2 G0 Q
' b. T  `/ N: h# T2 V  u* `
/ j) N, F' Q5 c3 X
  从上图中,我们可以看出在实际使用中,应用程序创建和使用各种 ADO 对象,ADO 对象框架调用享用的 OLE DB 提供者。为了访问 SQL Server 数据库,OLE DB 提供了两种不同的方法:用于 SQL Server 的 OLE DB 提供者以及用于 ODBC 的 OLE DB 提供者。这两种不同的方法对应于两种不同的连接字符串,标准的连接字符串写法如下所示:/ Q, s  q, h! _  V/ i
6 V+ B  o6 g# H0 v: W
  1、使用用于 SQL Server 的 OLE DB 提供者:
! G7 h1 _% C+ b0 c: P8 }2 K
" }. H. v# z( c0 B3 E( _' r  使用 SQL Server 身份验证:
3 O5 p% f  \: D! k- T3 J5 J# W5 g- T) M- D, }. G: e$ K1 @  n
oConn.Open "rovider=sqloledb;" &amp; _
' Z6 T. v% [* H/ u$ o"Data Source=myServerName;" &amp; _' @' j6 l* v  Z8 L* S
"Initial Catalog=myDatabaseName;" &amp; _" m! s' g# i7 D# Z
"User Id=myUsername;" &amp; _: J# A" N1 S7 b' C7 i0 M
"assword=myPassword"" ^& f! N  b9 P& \9 N( S2 r* k) Z: {

( X' u. g+ W: ?( v  H3 f" C  使用 Windows 身份验证(信任连接):
8 @8 _, r+ Z4 s3 W0 q1 g
" D: ^4 S  X  }( i1 B! s. c% Y( VoConn.Open "rovider=sqloledb;" &amp; _
+ s  l3 N/ ?5 \  i5 K7 g"Data Source=myServerName;" &amp; _
# O2 g1 p5 z3 c# @5 S"Initial Catalog=myDatabaseName;" &amp; _
) K) b8 N: k* j0 S1 z# @  j6 M( l' @"Integrated Security=SSPI"
. I; d( R2 B# p4 T
1 P* Y5 F$ ]0 o: ^  D% ?5 I  2、使用用于 ODBC 的 OLE DB 提供者(不使用 ODBC 数据源):
. k4 Y% W/ m% w( q, v! H8 w: v8 u" B9 O: r7 U6 j, c# Q6 C
  使用 SQL Server 身份验证:7 e' R% L: k0 D0 p) g4 n+ M

3 `; v  P  m3 T- c- h6 ioConn.Open "Driver={SQL Server};" &amp; _
  \9 ~' S4 s; J% `, i"Server=MyServerName;" &amp; _
4 E- T  Y4 b0 |% p9 H# R6 q1 M' h"Database=myDatabaseName;" &amp; _; S0 n& L! C- N: \- }; ?
"Uid=myUsername;" &amp; _
* S  X+ S* ^& C0 s' _" ^2 M0 ^) j4 d"wd=myPassword"" ?9 }) v  k- c. z/ I, x
1 f$ F  I6 V+ {" J# D. Q
  使用 Windows 身份验证(信任连接):
! ?8 E: a3 q' u' [
0 N' S* M1 r  T: o+ @% JoConn.Open "Driver={SQL Server};" &amp; _
* T+ s1 z$ U5 M- A% T"Server=MyServerName;" &amp; _
& {% d2 c3 a' Q) f6 V"Database=myDatabaseName;" &amp; _- [  ^7 M( p0 e$ b
"Trusted_Connection=yes") U3 b6 b0 X* D! m+ o

8 W& ^4 O/ ]4 V) ]4 u! v! U  3、使用用于 ODBC 的 OLE DB 提供者(使用 ODBC 数据源):
" N- Q- W8 Y) O; j9 Q2 z5 P6 J8 R
: a2 t. T* [$ o) NoConn.Open "DSN=mySystemDSN;" &amp; _ . ^' f' M$ [( c
"Uid=myUsername;" &amp; _ + y5 _9 _) \: D* _( c" C9 m* k: ^
"wd=myPassword"
# ]4 Q# D4 n7 F7 n3 K
4 i+ h6 N! f  E' m% X  如果遇到连接失败的情况,我们只要按照一中所示的方法,结合程序中的连接字符串进行检查,基本都能得到解决。另外,还有以下几个要注意的地方:9 D/ _: l- `. }5 ^# P! t8 T
3 X" V3 s0 T/ X% K$ C/ u
  1、配置 ODBC 数据源时,点击"客户端"配置选项可以让我们指定连接使用的网络库、端口号等属性,如下图所示:, r. ]) g4 \7 h4 L6 o  f+ W

$ ]; `9 `* g3 T1 L/ n   6 T7 e5 H. l2 o/ n. X3 G, @0 X$ a
+ K  n0 ?( _' j; a% p1 T

5 u" T9 S  k, ^9 q& b; ^% f8 W( }' R5 h& F7 B) @8 z
  2、如果遇到连接超时的错误,我们可以在程序中修改 Connection 对象的超时设置,再打开该连接。例如:
9 K( p/ v( u. y. }, t
( o7 d. X8 `! U' P$ x</P><>&lt;%) C- I- n0 i+ Y. }
Set Conn = Server.CreateObject("ADODB.Connection")3 p. `& Q0 Z% Q! L: \! n
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USERWD=password;DATABASE=mydatabase"* @9 B/ ]  H" M1 D& j
Conn. Properties("Connect Timeout") = 15 '以秒为单位
5 b. M4 ?5 q2 TConn.open DSNtest
1 Q+ _, _2 _! l# ~9 }%&gt;</P><>
! C- j+ ]2 K6 X: O5 V5 ^  M3 v. U  3、如果遇到查询超时的错误,我们可以在程序中修改 Recordset 对象的超时设置,再打开结果集。例如:
* a* j5 g9 V' o0 R( A
1 z2 j1 d5 S+ F, j/ J$ k3 \5 o  w</P><>Dim cn As New ADODB.Connection6 s* g- Q! t( Q& M" Y: W5 f2 X5 F
Dim rs As ADODB.Recordset! h+ N: S. e6 b5 f1 `6 ^
. . .
) W& T. J$ y! Ycmd1 = txtQuery.Text
4 O* U7 L1 v' B6 v. hSet rs = New ADODB.Recordset
! T, W1 J; j# {  i9 V' ^# xrs.Properties("Command Time Out") = 300/ @$ X! `0 s" g$ j
'同样以秒为单位,如果设置为 0 表示无限制% H( S6 C6 u8 B9 A- X- I" h$ O
rs.Open cmd1, cn$ m! w% S) r/ S4 u) ~* x( }
rs.MoveFirst
. k: R4 q& u0 e0 ]% e' C. . . </P><>9 G% }  `+ I0 P$ s7 Q
  <B>三、小结</B>. y$ j% w% t. q+ s6 b. s9 S
2 w7 S3 i! Z8 f5 E
  本文针对大部分用户在使用 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-10-8 06:28 , Processed in 0.371110 second(s), 57 queries .

回顶部