1

我目前正在将我的一个客户端站点迁移到 Windows Server 2008 和 SQL 2008 设置,但是从站点连接到数据库时遇到了很多问题。

我已将数据库从 SQL 2k 备份恢复到 SQL 2008 服务器,我已正确设置用户,并且可以在管理工作室中以该用户身份登录。我已经复制了站点 .asp 文件,这些文件在没有数据库访问时可以正常加载。但是当我尝试访问数据库时,它失败并显示“用户登录失败......”。

我已经重置了密码,创建了新用户,将连接字符串从 OLEDB 更改为 SQL Native Client 并再次返回,但不断出现错误。我什至设置了一个虚拟数据库和用户,但仍然遇到同样的问题。

有谁知道为什么会发生这种情况?我缺少 SQL 或 Windows 中的设置吗?

我已经在这几个小时了,真的很感激任何想法。

更新:如果我在连接字符串中输入了错误的登录详细信息,我会在 conn.open 上收到错误,但如果我输入正确的登录详细信息,我会在 cmd.activeconnection = conn 上收到错误。不确定这是否有帮助。

4

5 回答 5

1

我刚刚在我们的 Windows 2008 和 SQL Server 2008 上遇到了一些类似的问题。据我所知,这些是我们使用 SQL 身份验证启用连接所经历的步骤

  1. 以管理员身份登录 SQL Server,更改服务器属性以允许混合模式身份验证(SQL 身份验证和 Windows 身份验证)

  2. 重新启动 SQL Server 服务

  3. 使用 SQL Server 配置管理器确保协议已启用 (TCP/IP)

关于连接性,我们遇到了很多防火墙问题。有时,用户登录失败并不是问题的真正原因。我通常会创建一个带有 udl 扩展名的文件来测试连接性。

当您登录到 SQL Server 时,您是否使用 Windows 身份验证?

希望这可以帮助。

于 2008-11-19T11:23:45.883 回答
0

我一直有类似的问题。

我通过连接字符串从这里更改:

DRIVER={SQL Server};SERVER=80.82.xxx.xxx;DATABASE=mydatabasename;UID=myusername;PWD=mypassword

对此:

Provider=SQLNCLI10.1;SERVER=80.82.xxx.xxx;DATABASE=mydatabasename;UID=myusername;PWD=mypassword

它奏效了。

您可能想尝试使用不同的提供程序设置。

于 2013-01-27T15:24:00.400 回答
0

由于您将数据库恢复到新服务器,因此您现在可能在数据库上有一个孤立用户。您需要将孤立用户重新连接到服务器登录。有关详细信息,请参阅如何将现有 SQL Server 登录名连接到同名的现有 SQL Server 数据库用户

于 2013-01-27T23:05:15.883 回答
0

I got the solution, for classical asp connection string is:

myConnection.ConnectionString = "Driver={SQL Server};Server=xxx.xxx.xxx.xxx,1533;Database=mydb;Uid=user123;Pwd=user123d;"
于 2010-03-06T07:26:26.193 回答
0

听起来像是 ADO 的问题。如果您已经拥有最新版本,您是否尝试过安装最新版本或刷新安装?

编辑:抱歉,没有注意到您正在运行 Windows Server 2008。该版本随 Windows DAC 6.0 一起提供,据我所知无法重新安装。由于您的 UDL 文件有效,我唯一能想到的就是确保您的 ASP 站点的用户身份可以访问包含 DAC dll 的文件夹。您可以尝试从 Sysinternals 运行 FileMon 并检查这些文件的访问被拒绝条目。

于 2008-11-19T12:13:50.090 回答