Windows 5.6 Pro 64位上的MySQL 5.6.14 64位连接问题

时间:2013-11-27 00:54:01

标签: mysql iis asp-classic 64-bit windows-8.1

我正在尝试将我的经典ASP网站连接到MySQL数据库。我使用以下内容:

1. OS: Windows 8.1 Pro 64 bit
2. DB: MySQL 5.6.14 64 bit
3. ODBC Driver: MySQL ODBC 5.2 ANSI Driver
4. IIS: IIS 8

这是我到目前为止所做的事情。

我从MySQL网站下载了MySQL 5.6.14 64位数据库并成功安装。数据库工作正常,因为我能够创建表,存储过程等。

接下来,我在wwwroot文件夹中创建了一个文件夹(mira_dev)并编写了3个经典的asp页面。第一个是login.asp页面,第二个是checklogin.asp页面,最后一个是index.asp页面。

现在我能看到“它有效!”在我的浏览器中。

我接下来在ODBC数据源管理器(64位)中创建了一个系统DSN。我把它命名为MySQL 64位,TCP / IP服务器命名为127.0.0.1,端口命名为3306,然后用户名为root,密码为root。我测试了连接,并说“连接成功”。

我使用的连接字符串是:

strconnect = ("Driver={MySQL ODBC 5.2 ANSI Driver};Server=localhost; Port:4040;Database=mira_dev;User=root;Password=root;Option=4;")

我接下来在浏览器上输入登录页面的路径,登录页面显示正常。

我按预期输入用户名和密码,然后按Enter键。预期的结果是,在我输入后,它应该通过不可见的页面checklogin验证我,然后如果它与数据库匹配,它应该将我传递给index.asp。

现在抓住了。如果我在Chrome / Firefox中执行此操作,则会将我带到index.asp,但不会显示正确的内容,而是显示错误消息:“处理URL时服务器上发生错误。请与系统管理员联系。 如果您是系统管理员,请单击此处以了解有关此错误的更多信息。“点击此处”将带我进入一个页面,告诉我如何使用mysql配置经典asp。我已经做了所有这些,我想我在正确的道路却遗漏了一些非常愚蠢的东西。

但是如果我在IE 11中执行相同的步骤,那么它会在checklogin.asp中阻止我,并告诉我存在服务器错误。我确信checklogin中用于身份验证的逻辑很好,因为它可以在我的其他计算机上运行,​​但我不确定我缺少什么。

如果你们帮助我,那将是非常有帮助的。非常感谢提前! :)

1 个答案:

答案 0 :(得分:0)

1)为什么在连接字符串中使用端口4040而不是(默认)端口3306?特别是在命名的ODBC数据源中使用3306时。这看起来是导致服务器错误的最可能原因

2)您也可以尝试将“Server = localhost”替换为“Server = 127.0.0.1”。要么应该在标准Windows框上工作,要知道DSN连接中的参数是否有效,请复制它们

3)另请尝试“Driver = {MySQL ODBC 5.2w Driver}” - 请参阅此页http://www.connectionstrings.com/mysql-connector-odbc-5-1/

除非您禁用该功能http://msdn.microsoft.com/en-us/library/ms241741(v=vs.110).aspx

,否则IE始终会向您提供自己的错误消息