SQL server 2005连接字符串中为什么加1433就通,不加就连接不上,怎么回事???请高手指教,代码如下

2024-12-26 03:13:05
推荐回答(2个)
回答1:

sqlserver占用机器的1433端口
连接的时候势必要告诉程序到哪个端口能与数据库进行通信 所以没办法 必须得写。即便你在开发机器上通过配置而直接写IP,到应用服务器上也许就没那么方便了

回答2:

写三个函数
'获得打开的数据库连接对象
Function OpenConn()
dim connString,conn
connString="driver={SQLServer};server=localhost;uid=sa;pwd=;database=northwind"
set conn = Server.CreateObject("ADODB.Connection")
'打开连接
conn.open connString
set OpenConn=conn
End Function

'关闭结果集
Sub CloseRecordSet(rs)
rs.close
set rs=nothing
End Sub
'关闭连接
Sub CloseConn(conn)
conn.close
set conn=nothing
End Sub

以上是写的函数,调用时如下
dim sql
sql = "sqlString" '写sql语句
dim conn,rs
set conn = OpenConn

'set rs = conn.Execute(sql)
'下面两句代码等同于上面一行代码
'set rs = Server.CreateObject("ADODB.RecordSet")
'rs.Open sql,conn,0,1 '不支持分页

set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,3 '支持分页
以上三种获得rs结果集的方法都行,最后,处理完之后不要忘了关闭结果集和连接
CloseRecordSet rs '调用函数
CloseConn conn

在ASP中一般采用这种方法连接.把连接字符串中的localhost改为IP地址,就可以访问此IP地址上的数据库.
还有就是,每个程序/服务都会有自己的端口号,sqlserver占用的是1433端口.所以你这种写法需要加上1433,否则电脑就不可以确定是哪个服务了.等你系统的学习sqlserver后就知道什么是1433了.