当前位置:数据库 > SQLServer >>

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

Set conn_user = New ADODB.Connection conn_user.ConnectionString = "Provider=sqloledb;Data Source=192.168.1.51,1433;(此IP后加1433后就能连接上服务器,不加1433后就连接不上,请高手指教,我要怎样做就不要加1433,直接用IP能连接,不胜感激!!)Initial Catalog=数据库名;User Id=sa;Password=123456;"conn_user.ConnectionTimeout = 30 conn_user.Open Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open "select * from XYZ ", conn_user, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs
追问:谢谢你的回答
答案:sqlserver占用机器的1433端口
连接的时候势必要告诉程序到哪个端口能与数据库进行通信 所以没办法 必须得写。即便你在开发机器上通过配置而直接写IP,到应用服务器上也许就没那么方便了
其他:写三个函数
'获得打开的数据库连接对象
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了. 

上一个:SQL Server 2008 Management Studio 添加外键问题
下一个:我在朋友那拷贝并安装了sql server 2005 但是使用时只有 mysql 5.5 command line client,找不到图形界面

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,