数学建模社区-数学中国

标题: SQL Server连接失败错误及解决 [打印本页]

作者: 韩冰    时间: 2004-11-19 10:28
标题: SQL Server连接失败错误及解决
在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者 OLE DB 等连接 SQL Server。下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
1 M6 ]' U* ^1 f! B) J; O
& M& V0 V7 R" j1 `0 _1 g) v  一、客户端工具连接失败2 W. {" w$ O% s' j- |+ j
; d1 v$ E, k2 N; V
  在使用 SQL Server 自带的客户端工具(以企业管理器为例)连接 SQL Server时,最常见的错误有如下一些:' R+ O% x3 W$ r4 P3 h1 u
( A$ v# Z3 }8 P4 J2 o9 m% a5 H6 [! t
  1、SQL Server 不存在或访问被拒绝7 _: ^$ o- j% A
1 y" W% P4 V% x
    ConnectionOpen (Connect()). R& p, p3 F7 [' q: J2 G) w' X

0 [$ G1 S- T2 g4 G  
! a7 l, u0 i. c/ g$ o# _! J* {. q8 b$ Q& c) i% E: Y2 t0 e. a; c
& z$ n6 G3 b" i7 F  ~

" l+ v; G- m. W; n
- y# S0 C5 \! k) {6 t- B  2、用户'sa'登录失败。原因:未与信任 SQL Server 连接相关联。
- X( u+ a- q' W7 T+ `% W3 i; t8 i% n- |
  * f( d+ L7 a) D' ^7 j3 m5 y
" N* z* k6 G3 i7 l) ~  T

. M2 t3 N7 F" }5 I3 i% }5 q8 @4 E# O% ?0 O" o  m) w9 S) ~1 V
0 [) k- y& s  H- u# V
  3、超时已过期。
4 _) [+ T  ^8 T, {. x; x
. J1 A: _6 u" b) H6 u  
# b4 `% ]+ l7 J# W, y- X
: t4 f7 g% e7 J1 n. Y5 \0 ?2 _( ?7 O9 P7 s- _' r8 y
下面我们依次介绍如何来解决这三个最常见的连接错误。
, d) w& }# C2 a' o, F6 j( M  h0 H( X: K6 c! m' L
  第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性:
7 T7 s2 H" M8 m: K, X4 c; J* ]* v. n7 K; P2 K( T8 @
  1、SQL Server名称或IP地址拼写有误;# r2 g7 v  I  W
2 d6 Y- o9 u7 n" Q# I% v
  2、服务器端网络配置有误;
+ M  N7 b1 _% n3 m) h. m& _( b( t- Y8 ?: _% A& Q
  3、客户端网络配置有误。
1 ~) J0 c; E* n* V- p1 M1 d  n1 Y) x2 c. F
  要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。4 W/ f9 ^; D" v; F9 L" y0 T" `

9 Y7 y/ m. I2 A( d9 W  首先,检查网络物理连接:
4 U& Z  \5 r/ e4 n0 }3 g* n1 `! S5 B  z- q6 T, ~  F+ r
   ping <服务器IP地址>
6 P4 u2 ~1 Q4 I  k 
: g( G# [& ]. Q  或者; w% `8 Y: H) A9 }1 z

/ y1 {9 E2 J8 A- b0 n. D% a   ping <服务器名称>
, I* j$ D, t$ u9 t4 |+ i! R
2 J/ E/ N3 q' G, E9 [, f7 M" z2 C  如果 ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server。防火墙软件可能会屏蔽对 ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。7 k( d; n4 Q! e2 {2 i

: U; ], i- j% v5 b! U  如果ping <服务器IP地址> 成功而 ping <服务器名称> 失败,则说明名字解析有问题,这时候要检查 DNS 服务是否正常。有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:* G8 D  }' I# y
: D9 m' l, Y' d7 @4 \8 q: V
  1、使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).
; O2 G* I) V- _. N( v4 N' r% x% G
% f% D% b. j/ d7 k6 }' Q  2、添加一条IP地址与服务器名称的对应记录,如:  x& p4 {, m& N7 }

1 F. t  |1 W. q; M    172.168.10.24 myserver( d* A, o- h: U- G8 Y
  E9 t% h4 j5 l; x9 C1 z
  也可以在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明。
. i* q+ p) i* t5 o. G# ?" l8 D/ Q5 P! C5 {# f, P
  其次,使用 telnet 命令检查SQL Server服务器工作状态:
5 o+ S5 ]5 x+ {7 ^  l& M& }) ^  K8 Y6 _9 I  V
   telnet <服务器IP地址> 1433
3 H( W' Z* F/ d! Z9 [  I( k. k
. |$ ^$ K, W% e( V. A; A  如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接;如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。" h6 J& r3 r6 _
9 P3 U4 o4 G1 w' O2 c$ m$ W
  接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道,是否启用了 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具来进行检查。. H* _2 v4 {$ @% B

* _1 K9 s3 d+ n* A  点击:程序 -> Microsoft SQL Server -> 服务器网络使用工具,打开该工具后看到的画面如下图所示:
( q$ W9 U; k0 B. u0 E
3 A. Z) h+ y* M, J+ _0 N  1 Z! L9 \, D/ j& P% K2 J$ ]! c( d
* r* ]1 d1 K- {. {
0 P3 V" _* D" i: M( i, Y  _
  从这里我们可以看到服务器启用了哪些协议。一般而言,我们启用命名管道以及 TCP/IP 协议。
1 B' y0 M) C# X8 e* v+ A  C+ a4 U! f+ \) q; z
  点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置,如下图所示:
* @5 ?3 ^! ~4 }9 ^' J
: l% X% j' Y2 p4 L( T9 I" }  
+ w' n% \  h5 P9 F8 V  X8 @
+ O" G8 W/ X# k0 W: r* q+ m
0 d. S; l5 j4 T" A% p0 F; J
7 M' L; a1 |) O( }7 k$ @" E5 j$ \/ K" E3 q  B$ D4 p& |: o( W
  一般而言,我们使用 SQL Server 默认的1433端口。如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接。
  N+ k" d& V7 W3 Q8 s9 T- r) v; G
& E/ m; V6 d8 ?! M! A  检查完了服务器端的网络配置,接下来我们要到客户端检查客户端的网络配置。我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具。
" o1 S7 a$ w3 j' J; b% M
- J% ^& R; P7 G7 V, h* F/ S; r  点击:程序 -> Microsoft SQL Server -> 客户端网络使用工具, 打开该工具后看到的画面如下图所示:
" K8 }. k# g$ y; A3 I+ a
" ]. H% H& X; ~% t, L0 W6 R  
8 W+ n' f& z4 n$ v% ~) _6 |6 P. p4 T& |5 w

/ l: w% C/ G6 q' G  从这里我们可以看到客户端启用了哪些协议。一般而言,我们同样需要启用命名管道以及 TCP/IP 协议。; I4 R- L/ m' w) k
" K% J) R+ r0 ~4 Q! Y' w4 [
  点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,如下图所示。
, P; A" h9 r/ @6 S9 t
  f. w; I3 ^' M4 D" w  
2 A* G, F, g$ g  h  f! `0 W$ T$ L# i% _  w* j( P- T2 @
4 t4 G3 Y7 K9 I+ Q! b" \: X" T
  该端口必须与服务器一致。
作者: 韩冰    时间: 2004-11-19 10:28
单击"别名"选项卡,还可以为服务器配置别名。服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。如下图中,我们可以使用myserver来代替真正的服务器名称sql2kcn-02,并且使用网络库 Named Pipes。别名的设置与使用HOSTS文件有相似之处。
+ q  ^/ p/ B$ I! K: w! |- ~
, C0 W: z: A% @  
( T6 R$ J+ ?- K4 f* p1 p9 D% C通过以上几个方面的检查,错误 1 发生的原因基本上可以被排除。下面我们再详细描述如何来解决错误 2。
( r6 J9 B7 S0 i
; F$ D+ H+ Q0 y# x  当用户尝试在查询分析器里面使用sa来连接SQL Server,或者在企业管理器里面使用sa来新建一个SQL Server注册时,经常会遇到如图 2 所示的错误信息。该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:
  @/ q, e7 K  v; p$ P+ _
1 q) v1 m1 S9 \% [( D; u; Q  1、 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server;
2 M6 X- ^" o6 Y: i  \5 ~, F2 m
8 A4 L8 x" s7 A& C% W/ v  2、 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡;
5 T+ E5 c9 }/ }1 R7 ?& B) ^7 `4 k% y! _3 s
  3、 在"身份验证"下,选择"SQL Server和 Windows "。
) |2 u- g+ G3 G
  @: o+ H. P; d/ M& M/ _6 d. {  4、 重新启动SQL Server服务。
* k2 I/ F! P/ _3 c& v0 f" q, G. N! W4 e. S) K% C
  在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,那么我们将遇到一个两难的境地:首先,服务器只允许了 Windows 的身份验证;其次,即使使用了 Windows 身份验证仍然无法连接上服务器。这种情形被形象地称之为"自己把自己锁在了门外",因为无论用何种方式,用户均无法使用进行连接。实际上,我们可以通过修改一个注册表键值来将身份验证方式改为 SQL Server 和 Windows 混合验证,步骤如下所示:
9 X. e9 i5 g$ Y2 S8 b, Y8 F  H5 Z& ?0 I$ E: ^
  1、点击"开始"-"运行",输入regedit,回车进入注册表编辑器;
/ I6 V2 m3 f2 v' G$ x/ N
6 ]: B4 v, _) E7 S0 m& x  2、依次展开注册表项,浏览到以下注册表键:0 r# q+ D) ?6 c

. v8 c; s, K. A+ B[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
; S! H, h; E4 }" B/ ^9 n, Y6 C, M5 X" s5 f
  3、在屏幕右方找到名称"LoginMode",双击编辑双字节值;
0 Z& f2 A' B! k# y5 V' \6 j" a" A
  4、将原值从1改为2,点击"确定";' A, F) R" [4 e

! G5 J- S, f- z2 ~* V$ d  5、关闭注册表编辑器;) C) R! j  a3 y3 `8 E8 S
# k) d+ k% s) W- h8 Z7 P
  6、重新启动SQL Server服务。  z6 i8 f' L# B4 K
6 H5 m/ |4 ^) x( S
  此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server。这是因为在 SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators 以及 <机器名>\Administrator 被删除。要恢复这两个帐户,可以使用以下的方法:
2 A$ J; q( ^' M$ o6 P
, y3 S* K+ z* s; R2 A3 r% q' t  1、打开企业管理器,展开服务器组,然后展开服务器;# ]7 ]5 ^, E4 p/ X3 c( n7 n
0 b0 F& m0 B, @, h9 [; Y1 b
  2、展开"安全性",右击"登录",然后单击"新建登录";' g, ]  a! Y4 l. u0 O& D& Y+ Q1 L

5 ?# F" a# K# E; a0 n7 ^  3、在"名称"框中,输入 BUILTIN\Administrators;
+ ?4 e9 s: ~) ?' P5 F" L  P' m+ R% s5 O( S  L
  4、在"服务器角色"选项卡中,选择"System Administrators" ;
$ m7 Z" t# k4 d# A, |  b* E# F
2 X7 Q. W/ ?# Y  5、点击"确定"退出;2 |1 W( u8 y% q! x: S1 S; M
7 k9 p  S  N- n
  6、使用同样方法添加 <机器名>\Administrator 登录。! n% l- U  v1 c" U  l2 i# f

# G  Y$ q( V. T- Z* O* ]% l7 j  以下注册表键
9 [* t- G2 I; ?, w; Y$ W' \! M0 {0 B' `' y2 j' U4 \
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
# e; v: b' J7 }; h9 x( N0 ^7 \+ U) u* s4 D. O
  的值决定了SQL Server将采取何种身份验证模式。该值为1,表示使用Windows 身份验证模式;该值为2,表示使用混合模式(Windows 身份验证和 SQL Server 身份验证)。
3 G$ i3 `  y* }; w
9 F/ t" x$ _/ d5 }' R  看完如何解决前两个错误的方法之后,让我们来看一下如图 3 所示的第三个错误。/ Z# m$ _# i- }& `/ E, R0 `
" D4 {8 Z4 O4 ]+ i& p
  如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。有些情况下,由于局域网的网络问题,也会导致这样的错误。! p# V' [; p9 F/ M; l! }
8 t1 m4 v0 N* {& l. ?4 X# E: J) B
  要解决这样的错误,可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因)。具体步骤为:) D1 N1 `& S5 M
. c' v' Z+ l1 w$ |4 \
  1、在企业管理器中,选择菜单上的"工具",再选择"选项";
; H' S& x" W/ H) R/ S0 t- v, Q
' I) L' Y* X, `  2、在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡;
$ n" k/ i$ y0 [1 S6 G" O5 f$ ]6 t+ t# S& O
  3、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20。
2 P, M3 F  \3 p) V8 y2 R9 F! _; C! g, p1 O' N- |4 c$ y
  查询分析器中也可以在同样位置进行设置。 <>
" `' x1 c  ?  \二、应用程序连接失败; j8 g8 e% s  |8 c% P
/ P& M( f  A) b4 F
  以上的三种错误信息都是发生在 SQL Server 自带的客户端工具中,在应用程序中我们也会遇到类似的错误信息,例如:
5 v' H' |  {4 E: a8 l& ]
1 U2 Q% D$ H) ]* p0 U% I$ O+ D( rMicrosoft OLE DB Provider for SQL Server (0x80004005), d0 v$ W' r9 @0 S
[DBNETLIB][ConnectionOpen (Connect()).]Specified SQL server not found.
/ Z2 v( a  I4 b0 o3 |8 x) Q5 ?8 Z
7 ~  H0 ~& l; \  v" n+ SMicrosoft OLE DB Provider for SQL Server (0x80004005)5 k+ \3 c6 B* `. @; ^) K  Y
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。/ c; J3 {! B- T$ C( D" \3 g' u

- b) _( ^: `. ~# pMicrosoft OLE DB Provider for ODBC Drivers 错误 '80004005'.( h; D% E1 F5 A7 E* K
[Microsoft][ODBC SQL Server Driver]超时已过期.
% r# l' p3 i4 J1 K' F9 n1 v* f4 C
  首先,让我们来详细看以下的示意图来了解一下使用 ODBC 和使用 OLE DB 连接 SQL Server 有什么不同之处。) s9 }) a: x4 J& C. X

/ k7 K6 y" {: y- p' w9 g   & V  }: [( l/ W4 O

9 `( d* J: e6 O* s1 z5 x. b
8 b# b- i1 U, h! Z. ?6 o  从上图中,我们可以看出在实际使用中,应用程序创建和使用各种 ADO 对象,ADO 对象框架调用享用的 OLE DB 提供者。为了访问 SQL Server 数据库,OLE DB 提供了两种不同的方法:用于 SQL Server 的 OLE DB 提供者以及用于 ODBC 的 OLE DB 提供者。这两种不同的方法对应于两种不同的连接字符串,标准的连接字符串写法如下所示:1 ]$ \) }7 |3 s& ?+ ?4 I( n

; J% Z  y" [7 \' }  1、使用用于 SQL Server 的 OLE DB 提供者:
& Z2 z# }! N3 f+ k( `+ A
: o5 ~2 p0 X. f2 Q$ U% I) H7 u  使用 SQL Server 身份验证:
  @! @& S/ Q; }9 X4 J  V, M" G, Z1 I' p$ j! L
oConn.Open "rovider=sqloledb;" &amp; _
9 I7 z* o. [' ?4 @. X"Data Source=myServerName;" &amp; _
9 L- G& J9 L6 \' P9 a* m! b"Initial Catalog=myDatabaseName;" &amp; _4 h: p2 r9 Z  E+ {& @; r' ^5 `
"User Id=myUsername;" &amp; _# M1 N1 C, r/ [& t9 I8 ?! G
"assword=myPassword"
: Q& C. s5 F& o$ Q- K; G: @9 G) l) U7 n2 a" }/ k& e
  使用 Windows 身份验证(信任连接):! i; f# t- X( K% j+ D0 S# d8 |  S

! I9 ~+ X+ X0 moConn.Open "rovider=sqloledb;" &amp; _
! o; c% c  Y# M/ `2 @+ v  H"Data Source=myServerName;" &amp; _
* t' P; {1 X9 \4 _: r"Initial Catalog=myDatabaseName;" &amp; _% T# }, X) d- d4 R5 ~
"Integrated Security=SSPI"
! |( q* e# r. Y6 f7 A0 b" N2 D" b( n/ T
  2、使用用于 ODBC 的 OLE DB 提供者(不使用 ODBC 数据源):6 X& n" P1 z3 i+ p) V5 @3 O1 _2 a
/ l# q' ?7 k# s& I8 f
  使用 SQL Server 身份验证:
! O4 F% }, w3 T, v; s% h4 Y
  P4 @% i2 s/ D+ uoConn.Open "Driver={SQL Server};" &amp; _
9 S/ L! K4 f( X4 ^"Server=MyServerName;" &amp; _
) [3 X8 x4 m( B6 y) z  B; k"Database=myDatabaseName;" &amp; _2 @1 v2 ]! H9 q% t
"Uid=myUsername;" &amp; _! H8 D! @5 ?3 q. z* `8 a8 `
"wd=myPassword"0 t5 V9 T: x6 N* D

; l; ~' |4 o# ~  使用 Windows 身份验证(信任连接):
; T2 \8 ?4 P. h" r+ C# m& {$ L/ C
/ ~2 u% o0 p# X. E; b2 @oConn.Open "Driver={SQL Server};" &amp; _ 5 A0 w& C& v  h) _3 \8 ]9 K
"Server=MyServerName;" &amp; _- ]2 k2 m( ~, q+ m
"Database=myDatabaseName;" &amp; _
' @- ?+ J' Y7 h. Z; z3 c, {"Trusted_Connection=yes"; I# Q; |' k- z7 n  G# o
# |; U  h  H, T8 L7 `
  3、使用用于 ODBC 的 OLE DB 提供者(使用 ODBC 数据源):
  D6 V: v3 Q$ W0 N, N$ C* s+ T- w
8 r6 ~/ Y* a" w$ H% Q- ^& _oConn.Open "DSN=mySystemDSN;" &amp; _
5 p+ C5 _7 }& }& X/ t0 a% y"Uid=myUsername;" &amp; _ : H+ d- }) H: v5 N* _7 P5 E
"wd=myPassword"; h" ]2 \* b4 C7 S8 R
& s, `) X# Z3 \6 ~* c# U# q( K, ^* T
  如果遇到连接失败的情况,我们只要按照一中所示的方法,结合程序中的连接字符串进行检查,基本都能得到解决。另外,还有以下几个要注意的地方:. K  D+ `) r2 |  F+ g' x" a

; M, S- n( T3 G6 B  ^; o  1、配置 ODBC 数据源时,点击"客户端"配置选项可以让我们指定连接使用的网络库、端口号等属性,如下图所示:
& V2 K: u+ B6 ~7 E2 _; `4 M) i  e, r3 J/ h4 m
  
' C# f+ _, s' \- f. k2 K1 }/ d' a
1 f  C) X- M+ f) ], D1 X. n* W1 e+ B: ~
5 C0 D& M& o. R
  2、如果遇到连接超时的错误,我们可以在程序中修改 Connection 对象的超时设置,再打开该连接。例如: - r4 [1 \. y$ ]

$ X; A+ P% d, p( L& S9 f</P><>&lt;%3 b) X: f0 z7 [3 ^" m4 x
Set Conn = Server.CreateObject("ADODB.Connection")$ ~" \! s! _+ j# I2 X* n
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USERWD=password;DATABASE=mydatabase"4 ]' ~7 f$ h8 r: b* u
Conn. Properties("Connect Timeout") = 15 '以秒为单位. W0 O2 M* T0 X
Conn.open DSNtest
, O0 D% ~8 s; t8 f  h%&gt;</P><>
4 x7 v" K4 G) X$ }  3、如果遇到查询超时的错误,我们可以在程序中修改 Recordset 对象的超时设置,再打开结果集。例如:+ w: F5 E! ^. _  P. Q& q

, e2 T. ?- n4 I# o& |) E</P><>Dim cn As New ADODB.Connection
" ^' c. Y7 S2 r' N: NDim rs As ADODB.Recordset
) T4 H2 ~% P2 o+ U: B3 o. . .
3 Z4 f: @- C4 L* A3 l: E! xcmd1 = txtQuery.Text! C8 U( \# P2 }8 {! q) [
Set rs = New ADODB.Recordset
: D6 k/ V4 I7 g& P) S& Yrs.Properties("Command Time Out") = 300
* u" o; ~. k) J$ |7 v'同样以秒为单位,如果设置为 0 表示无限制
1 {4 ^/ }( `. O: Y3 H' z0 frs.Open cmd1, cn, }* \  f) Z3 c7 q
rs.MoveFirst
* X$ c, J" V- M; Z9 a. . . </P><>2 g- G; m6 @8 `4 w' o% K8 t
  <B>三、小结</B>
9 A/ o# w" Z  ^/ `' @; T& G+ Y
8 ?1 L  W' W4 K6 k. I  本文针对大部分用户在使用 SQL Server 过程中常见的连接失败的错误,重点讨论了在使用 SQL Server 客户端工具以及用户开发的应用程序两种情况下,如何诊断并解决连接失败的错误。看过本文以后,相信每一个读者都会对 SQL Server 的连接工作原理、身份验证方式以及应用程序开发等有一个较为全面而深入的连接。本文中所有的测试或者示例均在 Windows 2000 Advanced Server + SQL Server 2000 企业版上通过。</P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5