具体原因是你调用了两次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 是要连接的数据库名称。
如果以上方法都无法解决问题,可以尝试查看系统日志或联系数据库管理员以获取更多帮助。
以上就是关于数据库已连接的情况下,访问不到数据,是哪里错了全部的内容,包括:数据库已连接的情况下,访问不到数据,是哪里错了、数据库连接不上、无法访问局域网数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)