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

在WebService中为何连接不上Access数据库?

楼主fsxdxh(假行僧)2006-03-04 14:27:37 在 .NET技术 / Web Services 提问

我用C#在客户端窗体程序中连接Access数据库,使用的是  
  string   source   =   @"Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=D:\MyDB.mdb;User   Id=;Password=;";  
  连接正常且能够取回数据,现在我把代码放到服务器端WebService程序中,结果总是出现如下错误:  
   
  _message "System.Web.Services.Protocols.SoapException:   服务器无法处理请求。   --->   System.TypeInitializationException:   “Beauty.DataAccess.DBAccess”的类型初始值设定项引发异常。   --->   System.ArgumentException:   连接字符串   provider   中未知的连接选项。  
        at   System.Data.SqlClient.ConStringUtil.ParseStringIntoHashtable(String   conString,   Hashtable   values)  
        at   System.Data.SqlClient.ConStringUtil.ParseConnectionString(String   connectionString)  
        at   System.Data.SqlClient.SqlConnection.set_ConnectionString(String   value)  
        at   System.Data.SqlClient.SqlConnection..ctor(String   connectionString)  
        at   Beauty.DataAccess.DBAccess..cctor()   in   e:\inetpub\wwwroot\beautyparlor\dataaccess\dbaccess.cs:line   22  
        ---   内部异常堆栈跟踪的结尾   ---  
        at   Beauty.DataAccess.DBAccess.Login(LoginInfo   info)  
        at   Beauty.Beauty.Login(LoginInfo   info,   LoginInfo&   actorInfo)   in   e:\inetpub\wwwroot\beautyparlor\beauty.asmx.cs:line   167  
        ---   内部异常堆栈跟踪的结尾   ---" string  
   
  在客户端好好的,为什么在服务器却总失败,而且我的服务端与客户端都是在我的本地器上。  
  是连接字符串错误码?  
  问题点数:20、回复次数:10Top

1 楼net_lover(【孟子E章】)回复于 2006-03-04 14:36:49 得分 0

D盘在虚拟目录下吗?一般说权限引起的。可以将mdb文件放在虚拟目录或者站点下。然后用  
   
  string   source   =   @"Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   System.Web.HttpContext.Current.Server.MapPath("MyDB.mdb");Top

2 楼abob()回复于 2006-03-04 22:37:02 得分 0

能具体说一下权限的问题么?Top

3 楼fsxdxh(假行僧)回复于 2006-03-05 11:04:05 得分 0

问题解决了,谢谢net_lover(孟子E章)   。不过遇到了新的问题。  
   
  我查询数据很正常了,但在插入数据时却提示我“{"INSERT   INTO   语句的语法错误。"   }”。而实际上我把这条语句在Access中直接执行是可以成功的,但在下面的语句中却总是不成功,请问这是什么原因?  
   
  select   =   "INSERT   INTO   MUser(LoginID,   Password,Creator,UserType)   values   ('dd','df','dk',0)"  
  cmd   =   new   OleDbCommand(select,   conn);  
  cmd.CommandType   =   CommandType.Text;  
  int   nRet   =   cmd.ExecuteNonQuery();Top

4 楼Knight94(愚翁)回复于 2006-03-07 16:07:02 得分 10

还是权限的问题,当前webservice目录,asp_net用户是否能对它可以写,如果可以写的话,才能对数据库进行操作,否则只能查询。Top

5 楼fsxdxh(假行僧)回复于 2006-03-08 21:25:13 得分 0

请教一下Knight94(愚翁)   ,由于本人对IIS配置不太懂,能否告知是怎样配置此权限的?  
  Top

6 楼Knight94(愚翁)回复于 2006-03-09 08:32:19 得分 0

不是在iis中,而是在explorer中,选中web目录所对应的实际目录,在它的属性中,选择安全(security),然后添加aspnet用户,并给它赋予可写权限,这样就可以了。Top

7 楼fsxdxh(假行僧)回复于 2006-03-11 23:32:46 得分 0

我已经设了asp.net的权限(写入和修改都设了),但是还是不行,但是奇怪的是执行delete语句却成功了,不知是何故,请教!Top

8 楼astra1(Hyperion)回复于 2006-03-12 00:52:31 得分 10

是你的sql语句问题  
  INSERT   INTO   MUser(LoginID,   Password,Creator,UserType)   values   ('dd','df','dk',0)"  
   
  password是access的保留字,用[]包起来  
  最好象这样  
  INSERT   INTO   MUser([LoginID],   [Password],[Creator],[UserType])   values   ('dd','df','dk',0)"  
   
   
  试试Top

9 楼fsxdxh(假行僧)回复于 2006-03-19 11:04:50 得分 0

谢谢astra1(Hyperion)   。总是解决了。Top

10 楼mmens(快乐中前行!)回复于 2006-03-24 09:28:15 得分 0

:)Top

相关问题

  • ADO连接Access数据库
  • PB连接Access数据库
  • 连接阿ACCESS数据库
  • 连接 access数据库
  • jdbc连接access数据库
  • vb.net连接access数据库
  • webservice连接数据库出错!!!。。。。。。。。。。救命!
  • pb8连接数据库的问题(access数据库)
  • 用ADO连接access数据库?
  • 怎样用BCB连接Access数据库?

关键词

  • 语句
  • 数据库
  • 连接
  • webservice
  • 数据
  • access
  • source
  • 权限
  • loginid
  • 目录

得分解答快速导航

  • 帖主:fsxdxh
  • Knight94
  • astra1

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

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