CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

ASP应用高手进来看啊!解决问题100分!!

楼主bushcong()2006-06-02 13:43:02 在 Web 开发 / ASP 提问

我下载了一个asp编写的BBS站点源码,后台数据库用SQL   Serever   2000,在网页里利用Sqloledb进行连接,在本机安装IIS进行调试的时候,死活连接不上,网页提示“数据库连接错误,请检查连接字串”,我的操作系统是Windows   XP,SQL   server   是Developer   Editon   ,后来在同学的Win2000   Server   +   SQL   Server   2000   Enterprise   Edtion下测试成功,再挪到我的WinXP下,还是不管用,大侠们谁知道这是怎么回事儿啊!!!???  
  郁闷Ing。。。 问题点数:100、回复次数:38Top

1 楼bushcong()回复于 2006-06-02 13:54:59 得分 0

连接字串应该没问题  
  因为在同学的Win2000   Server   +   SQL   Server   2000   Enterprise   Edtion下测试成功  
  就是在我的WindowsXP下连接不上Top

2 楼gxh7506(潇湘水云(.NET深圳程序员联盟群:22059542,QQ:78726784))回复于 2006-06-02 14:02:45 得分 0

我比较少用XP,以前用professional版的时候,SQL好象要打补丁才行.再听听楼下怎么说吧Top

3 楼jsnt_rd(C#ing...)回复于 2006-06-02 14:16:54 得分 0

看看IIS配置是否正确;  
  还有数据库的连接方式,推荐使用OLEDB方式!Top

4 楼qiangtian(tq)回复于 2006-06-02 14:20:40 得分 0

查看是否是防火墙引起Top

5 楼diyager(明白了就要结贴啊兄弟,做人要厚道(QQ5745027))回复于 2006-06-02 14:23:57 得分 0

I,确认你的sql服务是否正常先:  
   
  一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。  
  二.   重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。  
  三.   再拿出SQL服务器版的安装光盘,直接安装客户端工具(这个不要多说吧?最简单的方法就是直接点击光盘根目录下的autorun.exe)  
   
  根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。(哈哈,服务端我已有了)  
   
  四.   打开企业管理器,试用SA用户连一下看看,是不是发现SA用户登陆失败?因为你还没有与信任SQL   SERVER连接相关联。还好这个只要对系统注册表稍加修改就可以啦:  
   
  在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\MSSQLSERVER\\MSSQLSERVER],这个项里面有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。  
   
  五.   再打开企业管理,再连接试试,是不是OK了!  
   
  II,如果正常,还不能解决再回贴  
  Top

6 楼jinfeng003(靳奉山)回复于 2006-06-02 14:24:03 得分 0

检查SQL   的登陆方式是不是混合认证  
  还有,检查一下你的系统里边IUser...用户是否打开了权限  
  再就是杀毒软件,防火墙Top

7 楼bushcong()回复于 2006-06-02 14:25:21 得分 0

IIS应该怎么配置阿,我在XP下的配置和2000下一样啊,数据库我就使用的SQLOLEDB  
  应该不是防火墙的问题,一我没有安装防火墙软件,二我把WINXPSP2自带的防火墙也关了,还是连不上  
  郁闷阿!!!Top

8 楼bushcong()回复于 2006-06-02 14:41:44 得分 0

diyager:  
  我的SQL   Server2000是Developer   Edition的,有没有影响?按照你那个方法还是不惯用阿  
  jinfeng003:  
  SQL是混合认证方式  
  我再检查一下IUSer的权限  
  肯定不是杀毒软件和防火墙的问题Top

9 楼bushcong()回复于 2006-06-02 16:02:22 得分 0

To   jinfeng003:  
  权限怎么个设置法阿??  
  好像还是不管用啊  
  怎么办??Top

10 楼showlin(六斤八两八)回复于 2006-06-02 16:20:57 得分 5

1、先检查你的IIS是否正常(随便先打开其他的ASP文件,不行自己随便写个response.write   1  
  2、检查你的connection字串,确定在你本机的sql服务器上有对应的登陆,以及该登陆对你的数据库权限足够,建议db_owner  
  3、还不行就把连接文件里所有的on   error   resume   next去掉,把IE里的“显示友好的http错误”勾掉,错误信息发上来Top

11 楼bushcong()回复于 2006-06-02 16:35:16 得分 0

1、IIS正常,可以浏览其他无关ASP网页  
  2、确实有相应的登陆,可以登陆用企业管理起和查询分析器,sa的权限应该足够吧?  
  3、错误信息为  
  Microsoft   OLE   DB   Provider   for   SQL   Server   (0x80004005)  
  [DBNETLIB][ConnectionOpen   (Connect()).]SQL   Server   不存在或拒绝访问。Top

12 楼spook768(Prowriter)回复于 2006-06-02 16:47:16 得分 5

地址是不是出錯了,改成localhost或者127.0.0.1如果已經分配了IP地址就用分配的那個地址Top

13 楼szlzc(咖啡加盐)回复于 2006-06-02 17:02:05 得分 0

xp使用不习惯,还是用2000吧Top

14 楼fenglik(风易)回复于 2006-06-02 17:03:39 得分 0

sql没配置好Top

15 楼bushcong()回复于 2006-06-02 17:05:55 得分 0

地址设置都尝试过了  
  我刚装的XP不要重装了吧~~~  
  SQL怎么配置才行啊??Top

16 楼bushcong()回复于 2006-06-02 17:51:49 得分 0

错误类型:  
  Microsoft   OLE   DB   Provider   for   SQL   Server   (0x80004005)  
  [DBNETLIB][ConnectionOpen   (Invalid   Instance()).]无效的连接。  
  /Conn.asp,   第   27   行  
  我调整了SQLServer的TCPIP端口  
  调整了以后提示这个错误,是什么错误啊/?  
  怎么解决???Top

17 楼gjclown(透明姐姐)回复于 2006-06-02 18:48:03 得分 0

sql是装的服务器版吧?Top

18 楼shimingwen(rongren)回复于 2006-06-02 20:33:21 得分 0

看一下是不是磁盘权限问题Top

19 楼bushcong()回复于 2006-06-03 09:17:15 得分 0

我装Enterprise   Editon装不上,装的是Developer   Editon  
  和这个有关么???  
  磁盘IUSR权限我都设置成全部了  
  还不行啊Top

20 楼chinastorm(JOBS.CN)回复于 2006-06-03 09:40:05 得分 0

连接sql语句有问题吧  
  dim   conn    
  set   conn=server.createobject("ADODB.connection")    
  conn.open   "PROVIDER=SQLOLEDB;DATA   SOURCE=(local);uid=sa;pwd=1;DATABASE=数据库名"Top

21 楼bushcong()回复于 2006-06-03 09:50:25 得分 0

在Win2000Server下测试可用啊,所以不会是连接语句的问题  
  我的连接语句就是你写的一样的Top

22 楼jinfeng003(靳奉山)回复于 2006-06-03 09:52:51 得分 0

贴出来你的链接字符串看看~~~~Top

23 楼bushcong()回复于 2006-06-03 09:58:13 得分 0

*************************************************************************  
  Set   Conn=Server.CreateObject("ADODB.Connection")  
  Conn.open   "driver={SQL   Server};Server=(Local);uid=sa;pwd=1;Database=xp"  
  *************************************************************************  
  SqlLocalName       ="(local)"  
  SqlUserName         ="sa"  
  SqlPassword         ="1"  
  SqlDatabaseName="xp"  
  ConnStr   =   "Provider=Sqloledb;User   ID="   &   SqlUserName   &   ";   Password="   &   SqlPassword   &   ";   Initial   CataLog   =   "   &   SqlDatabaseName   &   ";   Data   Source="   &   SqlLocalName   &   ";"  
  *************************************************************************  
  这两种法都试过  
  都不行  
  Server的名字我用(local)、.、127.0.0.1都测试了,也不行Top

24 楼jinfeng003(靳奉山)回复于 2006-06-03 10:17:04 得分 0

Provider=SQLOLEDB.1;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=pubs;Data   Source=.  
  里边的Persist   Security   Info是认证方式Top

25 楼jinfeng003(靳奉山)回复于 2006-06-03 10:18:58 得分 0

忘了写密码了  
  Provider=SQLOLEDB.1;Password=1;Persist   Security   Info=True;User   ID=sa;Initial   Catalog=pubs;Data   Source=.  
   
  又想到一点,数据库和系统的名字一样,试试看改下行不行Top

26 楼yuyuxiaoyu(左大S,右小S,偶居中)回复于 2006-06-03 10:29:11 得分 0

区区一个连接搞这么罗嗦,你到底有没有建数据源阿Top

27 楼jinfeng003(靳奉山)回复于 2006-06-03 10:46:33 得分 0

楼上的,  
  OLE连接不用数据源~~~谢谢Top

28 楼gamestar1(海洋之星)回复于 2006-06-03 11:12:56 得分 0

Server名   用主机名试试Top

29 楼yuyuxiaoyu(左大S,右小S,偶居中)回复于 2006-06-03 15:54:03 得分 0

楼上楼上,那你知道   DataSource是什么意思吗,没用过吧,那就不提了;  
   
  1.  
  Set   Cnn   =   Server.CreateObject("ADODB.Connection")  
  StrCnn   =   "Provider=sqloledb;   User   ID=sa;   Password=;   Initial   Catalog=数据库名;   Data   Source=网络标识中的计算机名"  
  Cnn.Open   StrCnn    
   
  2.  
  Set   Cnn   =   Server.CreateObject("ADODB.Connection")  
  StrCnn   =   "Driver={SQL   Server};Server=网络标识中的计算机名;UID=sa;PWD=;Database=数据库名"  
  Cnn.Open   StrCnnTop

30 楼yuyuxiaoyu(左大S,右小S,偶居中)回复于 2006-06-03 15:57:46 得分 0

套路   !有什么好讲的!   heng!Top

31 楼baicha123(白茶123)回复于 2006-06-03 16:14:25 得分 0

佩服佩服!~  
  路过一下这个问题我无语!~竟然可以研究这么长时间!~Top

32 楼yemingwy(小新)回复于 2006-06-03 18:22:29 得分 0

xp下的sql一定要打sql   sp4,否则不允许远端连接Top

33 楼showlin(六斤八两八)回复于 2006-06-03 20:39:50 得分 0

错误类型:  
  Microsoft   OLE   DB   Provider   for   SQL   Server   (0x80004005)  
  [DBNETLIB][ConnectionOpen   (Invalid   Instance()).]无效的连接。  
  /Conn.asp,   第   27   行  
  我调整了SQLServer的TCPIP端口  
  调整了以后提示这个错误,是什么错误啊/?  
  怎么解决???  
   
  ------------------------------  
  没调整过sql的端口,就更不知道调整后链接字串怎么写了。。。。。  
  不然试着调回来看看Top

34 楼AloneSword(孤剑)回复于 2006-06-03 20:48:53 得分 85

检查sqlserver是否是sql   server   的“服务器管理器”中的服务器的名称,有时候使用local是不好时的,因为这个名称问题。我以前遇到过,你更改看看!  
   
  Top

35 楼luxu001207(笨笨)回复于 2006-06-03 21:18:48 得分 0

xp系统问题就是多……原来我刚用asp的时候,在同学机器上运行好好的网站,到我机器上就死活运行不了,最后解决的方法是,重新安装系统。而且这个情况不只出现一次……Top

36 楼angelyujun(搁浅的鱼@南昌大学)回复于 2006-06-03 21:52:55 得分 5

贴出你的连接字符串,注意ServerName别填错了,有时候填127.0.0.1不行的,要填计算机名Top

37 楼bushcong()回复于 2006-06-04 07:25:47 得分 0

************************************************************************************  
  AloneSword(孤剑)   (   )   信誉:100     2006-06-03   20:48:00     得分:   0      
     
        检查sqlserver是否是sql   server   的“服务器管理器”中的服务器的名称,有时候使用local是不好时的,因为这个名称问题。我以前遇到过,你更改看看!  
  ************************************************************************************  
  我在sqloledb方式下把Data   Source改成和SQLServer服务管理器里的服务器一栏的设置,可以正常访问了!!!!!!!!!  
  但是Driver={SQL   Server}方式还是不行,有什么解决办法么??  
  Top

38 楼bushcong()回复于 2006-06-04 07:31:01 得分 0

刚才又测试了一下,把SQL   Server数据库名字里的机器名改成127.0.0.1  
  即原SQL   Server名称“MM\MYSQLSERVER”,现改成“127.0.0.1\MYSQLSERVER”,作为连接字串的Server或Data   Source,就可以正常访问了  
  问题得以解决。多谢各位了!!!Top

相关问题

关键词

得分解答快速导航

  • 帖主:bushcong
  • showlin
  • spook768
  • AloneSword
  • angelyujun

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo