数据库已连接的情况下,访问不到数据,是哪里错了

数据库已连接的情况下,访问不到数据,是哪里错了,第1张

具体原因是你调用了两次while(rsnext())方法,只有第一次能获取到数据,第二次已经无法获取到数据了,而你对数据的处理恰恰是在第二个while循环之中。

执行结果如下:

数据库只要正确安装,连接不上,

有以下几个原因:(其他的都是废话)

1 主机数据库没给权限,提示SQL Server 不存在或访问被拒绝!

在主机设置SQL Server 组下面按属性选安全性 选所有权连接(主机是指给

连接的计算机)

2 在网上邻居里和路由器里开放1433端口

3 防火墙添加1433端口,TCP 选本机 UDP 选允许 (还不行先关防火墙)

对于不懂数据库的,叫他测试什么外内网IP端口通不通,都是多余的,他都不懂。重装SQL(正确安装),再根据上面3点设置,一定可以顺利完成!

在你的数据库服务端管理工具里面 打开TCP/IP通道 这个是用网络访问数据库实例的功能

默认情况下这个是关闭的 使用的命名管道访问的

如图

连接字符串用

Provider=SQLOLEDB1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=19216819129

根据你的实际IP地址跟数据库名字填写

1、我觉得可能是楼主的某些程序写的有问题,可能占用了连接而没有断开。另外,楼主的MYSQL服务器是不是安装有防火墙?特别是诺顿防火墙,我遇到过,明明是允许我的IP访问被保护的服务器,可是一段时间后,挪顿就认为我的IP是非法攻击,自动就给我IP封了,要么等20分钟(默认的规则),要么从新启动服务器就好了。

2、您使用的是Windows *** 作系统,此错误与一个注册表键值TcpTimedWaitDelay有关。减小Windows中TcpTimedWaitDelay时间可解决此类问题,默认情况下为240(未设置的情况下也是这个数值)。 此项设置需要到注册表如下位置进行设置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersTcpTimedWaitDelay

如果注册表中没有TcpTimedWaitDelay这个项目,请增加这个项目,并设置为双字节(DWORD)类型。数值设置为30 ~ 60 之间即可。

3、服务器ftp测试完毕,重新启动了一下。就一切稳定了。 不过仍然有几个问题没有搞清楚。心里不放心。

 一、客户端工具连接失败

在使用 SQL Server 自带的客户端工具(以企业管理器为例)连接 SQL Server时,最常见的错误有如下一些:

1、SQL Server 不存在或访问被拒绝

  ConnectionOpen (Connect())

2、用户'sa'登录失败。原因:未与信任 SQL Server 连接相关联。

3、超时已过期。

下面我们依次介绍如何来解决这三个最常见的连接错误。

第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性:

1、SQL Server名称或IP地址拼写有误;

2、服务器端网络配置有误;

3、客户端网络配置有误。

要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。

首先,检查网络物理连接:

 ping <服务器IP地址>

 

或者

 ping <服务器名称>

如果 ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server。防火墙软件可能会屏蔽对 ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。

如果ping <服务器IP地址> 成功而 ping <服务器名称> 失败,则说明名字解析有问题,这时候要检查 DNS 服务是否正常。有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:

1、使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc)

2、添加一条IP地址与服务器名称的对应记录,如:

1721681024 myserver

也可以在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明。

其次,使用 telnet 命令检查SQL Server服务器工作状态:

 telnet <服务器IP地址> 1433

如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接;如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。

接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道,是否启用了 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具来进行检查。

点击:程序 -> Microsoft SQL Server -> 服务器网络使用工具,打开该工具后看到的画面如下图所示:

从这里我们可以看到服务器启用了哪些协议。一般而言,我们启用命名管道以及 TCP/IP 协议。

点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置,如下图所示:

一般而言,我们使用 SQL Server 默认的1433端口。如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接。

检查完了服务器端的网络配置,接下来我们要到客户端检查客户端的网络配置。我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具。

点击:程序 -> Microsoft SQL Server -> 客户端网络使用工具, 打开该工具后看到的画面如下图所示:

从这里我们可以看到客户端启用了哪些协议。一般而言,我们同样需要启用命名管道以及 TCP/IP 协议。

点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,如下图所示。

该端口必须与服务器一致。

在 OpenTX 219 中,数据库连接失败可能是由于多种原因引起的。以下是一些可能的解决方法:

检查数据库地址和端口号是否正确,确保网络连接正常。

检查数据库的用户名和密码是否正确,确保有权限访问数据库。

检查数据库是否正在运行,并且正在监听指定的端口号。

如果使用的是 MySQL 数据库,尝试在终端中执行以下命令来检查是否能够连接到数据库:

mysql -h hostname -u username -p

其中 hostname 是数据库服务器的地址,username 是数据库用户名。

如果使用的是 PostgreSQL 数据库,可以尝试在终端中执行以下命令来检查是否能够连接到数据库:

psql -h hostname -U username -d databasename

其中 hostname 是数据库服务器的地址,username 是数据库用户名,databasename 是要连接的数据库名称。

如果以上方法都无法解决问题,可以尝试查看系统日志或联系数据库管理员以获取更多帮助。

以上就是关于数据库已连接的情况下,访问不到数据,是哪里错了全部的内容,包括:数据库已连接的情况下,访问不到数据,是哪里错了、数据库连接不上、无法访问局域网数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9320110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存