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;"; 还是不行 这个东西到底要怎么改?
我记得了,当时没用 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 的权限可是还是不行,救命~~啊
你的测试是在winform中所以
string conntStr = "Data Source=localhost; Integrated Security=SSPI;" + "Initial Catalog=myDB";
可以连接成功改到web service后
aspnet账户默认情况下是不能用Integrated Security=SSPI方式连接到数据库你把连接字符串改为Sql 认证方式就好
string conntStr = "Server = localhost; User ID = EGO; Pwd = 796111; Database = myDB;";可是还是出错,出错的信息很简单就是:
无法显示网页
您要访问的网页有问题,无法显示。 另外问个问题,我设置的breakpoint,怎么无效?
{
myConnection.Close();
}
你的程序在构造函数里出现了问题,因为你的数据库对象还没有被创建,怎么就被关闭了 !
我用了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;";
还是不行
这个东西到底要怎么改?
{
myConnection.Close();
}
就是说在DataService()的时候就错了
myConnection.Open();
请把这两个的位置换换再说,没有打开的连接,你怎么能给别人赋值呢?
myConnection.Open(); myCommand.Connection = myConnection;
解决方案->项目->右键->属性->配置属性->调试->asp.net调试=true
myCommand .ExecuteReader();再式下
string conntStr = "Data Source=localhost;"
+ "Initial Catalog=myDB;"
+"User ID=EGO;Password=796111";
把asp_net用户加入到administrators组中,然后重新启动机器。
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 的权限可是还是不行,救命~~啊
“我在我创建的 数据库myDB 中查看 用户EGO 发现在 数据库角色 中只允许了 public 和 db_owner 而在 权限 中所有的列都没有提勾, 然后我都提勾了再试, 结果还是一样”现在发现钩了后确定,再打开看,还是全部都没钩
系统的ASPNET用户,是操作系统。"我的是ms sql server2000,我不知道系统的aspnet用户在哪里,我的数据库中只有我创建的ego和dbo两个用户啊
用connection str
"Server = localhost; User ID = EGO; Pwd = 796111; Database = myDB;"无法访问我的sql server
在左边的菜单中,找到“Security”那一项,下面有个Login子项,打开它
在右边你可以点击鼠标右键,选择“New Login”,然后出来一个对话框,上面有一个"...",点击它会出来一个选择用户的对话框,然后选择本机的ASPNET用户,点“Add”,在点OK,然后你就可以给它授权了
返回的信息是
{"用户 'EGO' 登录失败。原因: 未与信任 SQL Server 连接相关联。" }
下,找到machine.config,打开,找到<processModel这个配置节,把其中的userName="MACHINE"改为:userName="SYSTEM"就行了
并且让它能访问我的数据库myDB
还让它有了public和db-owner先试试先
为什么我用
"Server = SPHERE; User ID = EGO; Pwd = 796111; Database = myDB;";
就是连接不上2:当我设置了aspnet帐户后
没法在属性中设置为 sql server 身份验证, 这个是为什么呢
而且这样的话,就是说希望用aspnet的帐户访问数据库
可是connection string 应该怎么写, 我的目的是让它作为个webservice也能工作