在客户端连接数据库一定需要安装sql客户端吗?关于连接sql数据库的问题?

时间:2022-09-12 09:30:20
局域网内的两台机器,都是win2000的,我在一台上用adodb连接另一台的sql数据库时,会由于两台电脑的windows登陆密码不同而连接不上?在window的网络邻居里互相访问下就可以连接上。不知道是为什么?是不是连接语句有问题,还是sql数据库设置有问题,在客户端连接数据库一定需要安装sql客户端软件吗?

 
 

19 个解决方案

#1


你的SQL Server可能使用了"仅 Windows"的身份验证方式,将SQL SERVER改为混合人证即可

#2


我的是混合认证的,在客户端机器我什么都没有装的情况下,只有在网络邻居里访问下程序才能连接上,但注销和重启后还需要在网络邻居里访问才能用。

    我在客户端装个sql server后,就解决了?不知是为什么!难道是在客户端连接数据库一定需要安装sql客户端软件吗?

#3


在客户端手工配制ODBC到服务端的SQL试试

#4


估计是你用的ado的连接方式问题,用了windows身份方式登陆,但是登陆的时候还没与sql server端建立信用共享连接。
你在网络邻居里访问了sql server端的机器,就建立了信用共享连接,你的客户端就可以正常连接上了。

#5


odbc连接没问题!

我是用adodb对象连接的
"driver={SQL Server};server=" & ServerName & ";uid=" & UserId & ";pwd=" & Password & ";database=" & dbname & ""
是连接语句的问题吗?

#6


连接语句,只要传入参数正确,应该没有什么问题。
有什么出错信息?

#7


没什么出错的,就是连接延时!

#8


不用的呀,数据共享,当然不会每个都要装了
检查一下,还是权限的问题,是你网络设置的问题,通过网上邻居登录成功后,两台机器间数据已经可以成功传输,当然你的SQL也可以了,那么只能是权限的问题了

#9


1。连接语句的serverName是否可以找到?直接用ip试试
2。你的{sql server}驱动是否有问题?我记得windows本身是不包含这个驱动的,要不换oledb那个试试。
实在不行的话,把你出错的语句,还有出错信息贴出来看看吧

#10


up

#11


没有出错的,只是连接不上,会不会时驱动的原因??

1."driver={SQL Server};server=" & ServerName & ";uid=" & UserId & ";pwd=" & Password & ";database=" & dbname & ""

2.Provider=SQLOLEDB.1;Persist Security Info=True;User ID=" & UserId & ";Password=" & Password & ";Initial Catalog=" & db & ";Data Source=" & ServerName & "


#12


---------------------------------------------------
在window的网络邻居里互相访问下就可以连接上?
-------------------------------------------
原因:

在网络邻居上通过输入用户名和密码访问服务器后,就有了访问对方资源的权限,也就可以建立命名管道了。
所以上面这种情况实际上是:客户端通过命名管道访问SQL Server的。
使用ADO访问数据库,实际上还要通过ODBC来访问数据库。
在创建ODBC数据源(控制面板里)的时候,有个“客户端配置”的选项,你配置一下,使用TCP/IP协议连接服务器。
同时,在服务器端,使用服务器网络实用工具,配置服务器使用TCP/IP:

程序 -- Microsoft SQL Server -- 服务器网络使用工具

打开该工具后,在"常规"中可以看到服务器启用了哪些协议.
一般而言,我们启用命名管道以及 TCP/IP 协议,注意把TCP/IP协议排在上面。
点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置
一般而言,我们使用 SQL Server 默认的1433端口

#13


你的SQL打补丁了吗? 检查方法:

确定已安装的 SQL Server 2000 数据库引擎或 MSDE 2000 的版本,请使用 osql 或 isql 实用工具在命令提示符下,或者在 SQL 查询分析器的“查询”窗口中键入以下命令:SELECT @@VERSION 或 SERVERPROPERTY('ProductVersion')。 

同样,可通过执行 SELECT SERVERPROPERTY('ProductLevel') 来确定给定版本的 SQL Server 2000 数据库引擎或 MSDE 2000 的产品级别。 

下表显示了 SQL Server 2000 版本和级别、@@VERSION 报告的版本号以及 SERVERPROPERTY('ProductLevel') 报告的产品级别三者之间的关系。

SQL Server 2000版本和级别 @@VERSION  ProductLevel 
SQL Server 2000 原始版本 8.00.194 RTM 

Database Components SP1 
或 Desktop Engine SP1  8.00.384 SP1 

Database Components SP2
或 Desktop Engine SP2 8.00.534 SP2 

Database Components SP3/SP3a
或 Desktop Engine SP3/SP3a 8.00.760 SP3 


如果不能确定运行的 SQL Server 2000 数据库引擎或 MSDE 2000 的版本,请查看由 SELECT @@VERSION 返回的最后一行输出内容。最后一行应该与以下某项匹配: 

Desktop Engine on Windows NT 5.0 (Build 2195: Service Pack 2)
Enterprise Evaluation Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Developer Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Personal Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 2)

#14


如果没有的话,先把补丁装上


SQL补丁下载:
'全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766

#15


我装上了mdac就可以了,不知道时为什么??

#16


我的sql server 没有打任何补丁,难道时没打补丁的原因吗?我装了mdac2.8就一切都正常了,是不是装了mdac2.8就相当于打补丁呢?

#17


因为MDAC 里面包含了SQL Server database provider,之前连不上,应该是驱动或者数据访问组件的问题了。

#18


跟补丁没关系,应是ADO的原因

#19


mdac不是补丁,是程序调用数据库用的数据库引擎

#1


你的SQL Server可能使用了"仅 Windows"的身份验证方式,将SQL SERVER改为混合人证即可

#2


我的是混合认证的,在客户端机器我什么都没有装的情况下,只有在网络邻居里访问下程序才能连接上,但注销和重启后还需要在网络邻居里访问才能用。

    我在客户端装个sql server后,就解决了?不知是为什么!难道是在客户端连接数据库一定需要安装sql客户端软件吗?

#3


在客户端手工配制ODBC到服务端的SQL试试

#4


估计是你用的ado的连接方式问题,用了windows身份方式登陆,但是登陆的时候还没与sql server端建立信用共享连接。
你在网络邻居里访问了sql server端的机器,就建立了信用共享连接,你的客户端就可以正常连接上了。

#5


odbc连接没问题!

我是用adodb对象连接的
"driver={SQL Server};server=" & ServerName & ";uid=" & UserId & ";pwd=" & Password & ";database=" & dbname & ""
是连接语句的问题吗?

#6


连接语句,只要传入参数正确,应该没有什么问题。
有什么出错信息?

#7


没什么出错的,就是连接延时!

#8


不用的呀,数据共享,当然不会每个都要装了
检查一下,还是权限的问题,是你网络设置的问题,通过网上邻居登录成功后,两台机器间数据已经可以成功传输,当然你的SQL也可以了,那么只能是权限的问题了

#9


1。连接语句的serverName是否可以找到?直接用ip试试
2。你的{sql server}驱动是否有问题?我记得windows本身是不包含这个驱动的,要不换oledb那个试试。
实在不行的话,把你出错的语句,还有出错信息贴出来看看吧

#10


up

#11


没有出错的,只是连接不上,会不会时驱动的原因??

1."driver={SQL Server};server=" & ServerName & ";uid=" & UserId & ";pwd=" & Password & ";database=" & dbname & ""

2.Provider=SQLOLEDB.1;Persist Security Info=True;User ID=" & UserId & ";Password=" & Password & ";Initial Catalog=" & db & ";Data Source=" & ServerName & "


#12


---------------------------------------------------
在window的网络邻居里互相访问下就可以连接上?
-------------------------------------------
原因:

在网络邻居上通过输入用户名和密码访问服务器后,就有了访问对方资源的权限,也就可以建立命名管道了。
所以上面这种情况实际上是:客户端通过命名管道访问SQL Server的。
使用ADO访问数据库,实际上还要通过ODBC来访问数据库。
在创建ODBC数据源(控制面板里)的时候,有个“客户端配置”的选项,你配置一下,使用TCP/IP协议连接服务器。
同时,在服务器端,使用服务器网络实用工具,配置服务器使用TCP/IP:

程序 -- Microsoft SQL Server -- 服务器网络使用工具

打开该工具后,在"常规"中可以看到服务器启用了哪些协议.
一般而言,我们启用命名管道以及 TCP/IP 协议,注意把TCP/IP协议排在上面。
点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置
一般而言,我们使用 SQL Server 默认的1433端口

#13


你的SQL打补丁了吗? 检查方法:

确定已安装的 SQL Server 2000 数据库引擎或 MSDE 2000 的版本,请使用 osql 或 isql 实用工具在命令提示符下,或者在 SQL 查询分析器的“查询”窗口中键入以下命令:SELECT @@VERSION 或 SERVERPROPERTY('ProductVersion')。 

同样,可通过执行 SELECT SERVERPROPERTY('ProductLevel') 来确定给定版本的 SQL Server 2000 数据库引擎或 MSDE 2000 的产品级别。 

下表显示了 SQL Server 2000 版本和级别、@@VERSION 报告的版本号以及 SERVERPROPERTY('ProductLevel') 报告的产品级别三者之间的关系。

SQL Server 2000版本和级别 @@VERSION  ProductLevel 
SQL Server 2000 原始版本 8.00.194 RTM 

Database Components SP1 
或 Desktop Engine SP1  8.00.384 SP1 

Database Components SP2
或 Desktop Engine SP2 8.00.534 SP2 

Database Components SP3/SP3a
或 Desktop Engine SP3/SP3a 8.00.760 SP3 


如果不能确定运行的 SQL Server 2000 数据库引擎或 MSDE 2000 的版本,请查看由 SELECT @@VERSION 返回的最后一行输出内容。最后一行应该与以下某项匹配: 

Desktop Engine on Windows NT 5.0 (Build 2195: Service Pack 2)
Enterprise Evaluation Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Developer Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Personal Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 2)

#14


如果没有的话,先把补丁装上


SQL补丁下载:
'全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766

#15


我装上了mdac就可以了,不知道时为什么??

#16


我的sql server 没有打任何补丁,难道时没打补丁的原因吗?我装了mdac2.8就一切都正常了,是不是装了mdac2.8就相当于打补丁呢?

#17


因为MDAC 里面包含了SQL Server database provider,之前连不上,应该是驱动或者数据访问组件的问题了。

#18


跟补丁没关系,应是ADO的原因

#19


mdac不是补丁,是程序调用数据库用的数据库引擎

#20