解决方案:
1可以增加带宽解决。
2主要看什么程序读取SqlServer2000的数据,如果是应用程序的话,可以做一个中间件,先读出Sqlserver 中需要的数据,然后在进行压缩传送,在外网在解压出来。
3有可能是因为你使用的是远程直连数据库,本身通道就很耗带宽所以会很慢,建议在内网处理完成后在返回给外网。
4有肯能是数据库中的数据比较多,或者Sql比较复杂,建议,建立视图和索引加快检索速度。
5其他的貌似也没有啥要说的了,具体东西具体对待。
你这个软件估计是需要互相通信远程连接数据库的软件,具体你可以看看下面
一台机器即作服务器又作客户机,软件连接中出现:
[DBNETLIB][ConnectionOpen(connect())]SQL Server 不存在或拒绝访问。
现从网上查阅问题解决办法有如下几种:
(A)1:你如果是独立上网的请把21端口打开局域网把1433端口打开就可以了2;关闭防火墙!
(B)把数据库连接的 SqlLocalName="(local)" 的(local) 改成 IP试试。可以把(local) 该成127001,或者改成外网IP
(C)打开服务,暂停全文检索及sql server服务 开启sql server服务再开启全文检索服务
(D)SQL Server 右键属性==>安全选项中的“所有权链接:”“允许跨数据库所有权链接”前面的勾要勾上(此 *** 作需要重起SQL Server)。
2、你的问题我也出现过,我是两台电脑组成局域网,一台做网站服务器另一台为数据库服务器,配置为WIN2003-SP1+MS SQL-SP3 ,网站服务器直接连接外网,数据库服务器通过网站服务器连外网。刚开机的时候一切运行正常,但是没过多久就会出现上面的情况,后来检查发现原来是数据库服务器的防火墙开着呢,当时是为了防止外界攻击才设的,我在防火墙上开了1433端口后试了下还不行,后来关掉防火墙,并关闭网站服务器的INTERNET共享。然后运行,发现一切正常了。
3、 Sql Server远程连接数据库时发生“[DBNETLIB][ConnectionOpen(connect())]SQL Server 不存在或拒绝访问 ”的情况,原因有很多种,一般情况都是用过检查:
1、防火墙;
2、1433端口;来排除故障,但今天发现有以下情况同样会造成这个现象。
排除过程:
1、检查防火墙设置和1433端口设置正确;
2、如果出现“找不到网络路径”的报错,那么最好先PING一下它的IP地址。如果PING不通,那么需要先确认它是否连在网络或者网络连通性是否正常。然后查看是否启用了防火墙或者屏蔽掉了相应的端口。如果PING IP地址是正常的,但PING目标机器的计算机名不通,则需要查看是事网络名称解析有问题。关于如何诊断名称解析问题,可以先查看是所有客户端机器有问题还是某一台机器有问题。如果是所有机器的名称解析都有问题,那么你需要到网络的DNS或WINS服务器上检查了。如果只是某一台机器有问题,你需要先检查一下hosts和lmhosts文件;如果正常,可以重新注册一下DNS名字(ipconfig/reisterdns)。
----正常;
3、如果出现“xxx计算机无法访问,您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限”的报错,这可能是计算机的安全设置被改动过了,导致目标计算机无法被访问。可以采取以下步骤解决:
---存在这个问题,通过以下方法来解决
a 打开“我的电脑”,在菜单上选择“工具”->“文件夹选项”->“查看”,清除“使用简单文件共享(推荐)”的选择。
b 右键点击“我的电脑”,选择“管理”,选择“本地用户和组”->“用户”,右键点击Guest用户,选“属性”,清除“帐户已停用”的选择。
c 点击“开始”->“运行”,输入secpolmsc,选择左边的“本地策略”->“用户权力指派”,双击右边的“从网络访问此计算机”,保证其中有Everyone,双击左边的“拒绝从网络访问此计算机”,保证其是空的。
d 选择左边的“本地策略”->“安全选项”,(a)确认右边的“网络访问:本地帐户的共享与安全模式”为“经典”;(b)确认右边的“Microsoft网络客户:为通讯启用数字签名(总是)”为“已停用”;(c)确认右边的“Microsoft网络客户:为通讯启用数字签名(如果服务器允许)”为“已启用”;(d)确认右边的“Microsoft网络服务器:为通讯启用数字签名(总是)”为“已停用”;(e)确认右边的“Microsoft网络服务器:为通讯启用数字签名(如果服务器允许)”为“已启用”。
4、用ODBC连接,结果一切OK
1、思路
SQL数据库的链接完整的写法为:主机名或IP\SQL实例名称,端口号
2、实例:
服务器IP 1921680100
实例1名称: sql1 ,端口1433, 数据库名 test1
实例2名称: sql2 ,端口1434, 数据库名 test1
同一个数据库,在两个不同的实例,
连接字符串应这样写:
连接实例1:Data Source=@"1921680100\sql1,1433"
连接实例2:Data Source=@"1921680100\sql2,1434"
你这个外网搞不清是什么意思,是局域网还是互联网?如果是互联网那么mssql数据库所在的服务器网站中必须有注册帐号的网页或程序,网页调用数据库注册帐号。同样局域网的服务器也必须要有注册的程序,才能注册。
以上就是关于SQLServer2000数据库通过外网读取内网读取数据慢全部的内容,包括:SQLServer2000数据库通过外网读取内网读取数据慢、[DBNETLIB][ConnectionOpen(Connect()).]Sql Server、sqlserver安装了多个实例,如何从外网通过IP连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)