Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 ASP无法连接到SQL Server数据库_Sql Server 2008_Asp Classic - Fatal编程技术网

Sql server 2008 ASP无法连接到SQL Server数据库

Sql server 2008 ASP无法连接到SQL Server数据库,sql-server-2008,asp-classic,Sql Server 2008,Asp Classic,我正在尝试让一个经典的ASP应用程序连接到本地SQLServer2008数据库。应用程序和数据库是由其他人创建的。我只是想在我的机器Windows7上安装和运行它们 当ASP应用程序尝试连接到数据库时,我遇到以下错误: Could not connect to database: Error Number: -2147467259 Error Message: [ConnectionOpen (Connect()).] does not exist or access denied. 我在Wi

我正在尝试让一个经典的ASP应用程序连接到本地SQLServer2008数据库。应用程序和数据库是由其他人创建的。我只是想在我的机器Windows7上安装和运行它们

当ASP应用程序尝试连接到数据库时,我遇到以下错误:

Could not connect to database:
Error Number: -2147467259
Error Message: [ConnectionOpen (Connect()).] does not exist or access denied.
我在Windows事件查看器中看不到任何消息。我正在看:事件查看器->Windows日志->应用程序

这是一个使用简单还原的全新数据库安装。SQL Server安装使用默认实例。SQL Server和Windows身份验证都是允许的。我将ASP代码中现有的连接字符串保留在tact中,并尝试将其添加到SQL Server安装中。以下是连接字符串:

strConn = "PROVIDER=SQLOLEDB;SERVER=localhost;UID=TheUser;PWD=ThePassword;DATABASE=TheDatabase;"
要将该用户添加到SQL Server,我转到SSMS中的安全/登录,并添加了用户和密码。我选择了有问题的数据库作为默认数据库。我原以为这会奏效,但事实并非如此。然后,我进入数据库,然后进入那里的安全系统。我在那里添加了一个新用户,引用了我在服务器安全中已经添加的新用户。在Owned Schema下,我单击了db_owner,并在Role Members下检查了db_accessadmin和db_owner。所有这些都不允许ASP应用程序访问数据库。有关登录名的sys.database_主体和sys.server_主体中的sid值匹配。我可以使用此登录登录到SSMS

应用程序需要对数据库执行如下选择:

oConn.Execute('select * from someTable')
我不是DBA,在这里我有点抓救命稻草。我怎么把这东西连接起来

谢谢,
Jay

我突然想到,SQL Server或IIS中的网站可能以具有错误权限的用户身份运行。根据我读到的内容,SQL Server作为本地系统运行是可以的,所以我就不提了

在IIS中,我的网站使用应用程序用户通过身份验证。这是在“基本设置->连接为编辑站点”对话框中设置的。当我单击“测试设置…”时,授权旁边显示无法验证对路径c:\mywebsitepath的访问。我增加了对该目录的访问权限,但没有帮助。在“连接方式”对话框中,我将路径凭据更改为使用特定用户,而不是应用程序用户通过身份验证。我将其设置为使用我登录到计算机的用户。之后,当我点击测试设置。。。按钮,在授权旁边,它说路径是可访问的c:\mywebsitepath。在这之后,ASP网站就可以很好地连接到SQL Server

由于连接字符串使用的是特定的SQL Server用户名和密码,我不确定为什么这样做可以解决这个问题,但似乎已经解决了