myConnection 等都定义过吗?post err.message here

解决方案 »

  1.   

    Web Service只支持方法吧,你这个是类的构造函数,恐怕不行
      

  2.   

    如果没有猜错
    你的测试是在winform中所以
    string conntStr = "Data Source=localhost; Integrated Security=SSPI;" + "Initial Catalog=myDB";
    可以连接成功改到web service后
    aspnet账户默认情况下是不能用Integrated Security=SSPI方式连接到数据库你把连接字符串改为Sql 认证方式就好
      

  3.   

    奇怪了,我用了
    string conntStr = "Server = localhost; User ID = EGO; Pwd = 796111; Database = myDB;";可是还是出错,出错的信息很简单就是:
    无法显示网页 
    您要访问的网页有问题,无法显示。 另外问个问题,我设置的breakpoint,怎么无效?
      

  4.   

    要么就是没跑那个分支,要么就是与你的dll文件不一致(版本不同).过路的!!
      

  5.   

    ~DataService()
    {
    myConnection.Close();
    }
    你的程序在构造函数里出现了问题,因为你的数据库对象还没有被创建,怎么就被关闭了 !
      

  6.   

    把这段代码try起来, 输出异常信息看一下是什么详细信息
      

  7.   

    myConnection 已经被创建了 myConnection = new SqlConnection(conntStr);
    我用了try后发现说我的connection无效:System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is Closed.
       at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing)
       at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
       at System.Data.SqlClient.SqlCommand.ExecuteReader()
       at JobDataService.DataService.ExistIncID(String _id) in c:\inetpub\wwwroot\test\jobdataservice\service1.asmx.cs:line 176
    可是我在winform中测试过了一切正常的,所以估计还是这个问题:
    改到web service后
    aspnet账户默认情况下是不能用Integrated Security=SSPI方式连接到数据库
    我改成了
    string conntStr = "Server = localhost; User ID = EGO; Pwd = 796111; Database = myDB;";
    还是不行
    这个东西到底要怎么改?
      

  8.   

    我把server改为 我server的名字也不可以。。指教啊~~
      

  9.   

    你WEBSERVICE中还写这么写东西?我只用它做接口,所以你的错误还不能断定,不过从你给的错误信息来看, 你吧下面这句去掉,应该就可以了~DataService()
    {
    myConnection.Close();
    }
      

  10.   

    楼上的兄弟,我试过了,绝对不是这个的问题,是连初始化都没能正常连接数据库
    就是说在DataService()的时候就错了
      

  11.   

    myCommand.Connection = myConnection;
    myConnection.Open();
    请把这两个的位置换换再说,没有打开的连接,你怎么能给别人赋值呢?
      

  12.   

    应该换成
    myConnection.Open(); myCommand.Connection = myConnection;
      

  13.   

    至于调试断点没有停止,可能是你机器的设置有关.
         解决方案->项目->右键->属性->配置属性->调试->asp.net调试=true
      

  14.   

    哦,在你的加上myCommand.Connection.Open();
    myCommand .ExecuteReader();再式下
      

  15.   

    试试这个ConnectionString
    string conntStr = "Data Source=localhost;"
           + "Initial Catalog=myDB;"
           +"User ID=EGO;Password=796111";
      

  16.   

    郁闷。to:lionzhf,breakpoint的问题就和你说的一样:)to:kinght94,我试过了,还是不行,有没有可能是因为我sql配置的权限问题啊
      

  17.   

    如果你觉得是权限的问题,进行如下的操作:
    把asp_net用户加入到administrators组中,然后重新启动机器。
      

  18.   

    我记得了,当时没用
    Integrated Security=SSPI
    的方式来连接database就会出错提示如下:
    An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll
    Additional information: System error.我在sql企业管理器里面已经在安全性.登陆 里面添加了 EGO , 密码也弄好了 , 并且给予了 SystemAdministrator 的权限可是还是不行,救命~~啊
      

  19.   

    Sorry,写错了是系统的ASPNET用户。
      

  20.   

    我在我创建的 数据库myDB 中查看 用户EGO 发现在 数据库角色 中只允许了 public 和 db_owner 而在 权限 中所有的列都没有提勾, 然后我都提勾了再试, 结果还是一样
      

  21.   

    真不好意思我不大明白我在myDB中根本没有 系统的aspnet用户 啊, 只有我自己创建的EGO 和原来的dbo
      

  22.   

    re: 访问的是什么类型的数据库?请问这个是什么意思,数据库是我自己创建的,叫myDB
      

  23.   

    访问的是什么类型的数据库?是sql server、oracle、access等等系统的ASPNET用户,是操作系统。
      

  24.   

    对了还有个问题,上面我说的
    “我在我创建的 数据库myDB 中查看 用户EGO 发现在 数据库角色 中只允许了 public 和 db_owner 而在 权限 中所有的列都没有提勾, 然后我都提勾了再试, 结果还是一样”现在发现钩了后确定,再打开看,还是全部都没钩
      

  25.   

    re:"访问的是什么类型的数据库?是sql server、oracle、access等等
    系统的ASPNET用户,是操作系统。"我的是ms sql server2000,我不知道系统的aspnet用户在哪里,我的数据库中只有我创建的ego和dbo两个用户啊
      

  26.   

    如果你知道在哪儿能修改administrator用户权限的话,那么在相应的地方修改ASPNET用户权限。
      

  27.   

    大哥,问题是我在改system administrator的地方根本没有一个叫aspnet的角色啊
      

  28.   

    我也碰到过这个问题,你先在解决方案管理器中右键单击你的WEBSERVICE工程,选属性,将调试一项的ASP.NET改为True,试一下如果不行,就在windows里搜索到一个machine.config的文件将其中的一项machine改为Ststem然后重新启动,太麻烦了
      

  29.   

    谢谢楼上的哈, 这breakpoint的问题我已经解决了 :)
      

  30.   

    有没兄弟知道怎么配置sql的问题啊,还是不能访问啊救命啊~~
      

  31.   

    剩下这个本来就一直在的问题:
    用connection str 
    "Server = localhost; User ID = EGO; Pwd = 796111; Database = myDB;"无法访问我的sql server
      

  32.   

    出了什么错?是不是说ASPNET这个帐号登录失败
      

  33.   

    到底ASPNET这个是什么帐号,我从来就没看到过这么个帐号啊
      

  34.   

    你的ASP.Net应用程序是在这个帐号下运行的,这个帐号是安装.Net Framework的时候添加的Windows系统用户,这个帐号的权限比较小你可以这样,打开你的Sql企业管理器
    在左边的菜单中,找到“Security”那一项,下面有个Login子项,打开它
    在右边你可以点击鼠标右键,选择“New Login”,然后出来一个对话框,上面有一个"...",点击它会出来一个选择用户的对话框,然后选择本机的ASPNET用户,点“Add”,在点OK,然后你就可以给它授权了
      

  35.   

    我用了try来看
    返回的信息是
    {"用户 'EGO' 登录失败。原因: 未与信任 SQL Server 连接相关联。" }
      

  36.   

    或者你把ASP.Net应用程序改在系统用户下跑也可以方法是在系统盘:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\CONFIG
    下,找到machine.config,打开,找到<processModel这个配置节,把其中的userName="MACHINE"改为:userName="SYSTEM"就行了
      

  37.   

    对,就是这个原因,因为你的SQL Server设置了Windows帐户登陆模式,而ASPNET帐户没有登陆权限
      

  38.   

    我让aspnet当了system administrators 
    并且让它能访问我的数据库myDB
    还让它有了public和db-owner先试试先
      

  39.   

    这样让我有点混淆1:我的aspnet帐户虽然没有登陆的权限,可是帐户EGO 是有的
    为什么我用
    "Server = SPHERE; User ID = EGO; Pwd = 796111; Database = myDB;";
    就是连接不上2:当我设置了aspnet帐户后
    没法在属性中设置为 sql server 身份验证, 这个是为什么呢
    而且这样的话,就是说希望用aspnet的帐户访问数据库
    可是connection string 应该怎么写, 我的目的是让它作为个webservice也能工作
      

  40.   

    ptw:问个小问题,我经常(几率是50%),运行一个win form程序的时候进入无限等待的状态(就是form根本出不来,停留在debug界面而不出现程序界面),解决的方法是按 restar 才能正常此是为何?