我试图从经典 ASP 页面连接到远程 MySQL 数据库,当我在其中编写 VBScript 代码时,网站给出
HTTP 500 Internal Server
错误。我向房东核实过,他们说这不是他们的错误。
请帮助我。
<%
dim myConnection
dim connectString
username = "bla"
password = "bla"
database = "bla"
host = "bla"
Set myConnection = Server.CreateObject("ADODB.Connection")
Set RSTitleList = Server.CreateObject("ADODB.Recordset")
connectString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER="&host&"; DATABASE="&database&"; UID="&username&";PASSWORD="&password&"; OPTION=3"
**myConnection.Open connectString ---- HERE I'M GETTING ERROR. ABOVE CODE IS WORKING FINE.**
Set RSTitleList = myConnection.Execute( "Select * From questions") %>
<!-- Begin our column header row -->
<!-- Ok, let's get our data now -->
<% do while not RStitleList.EOF %>
<p> <%=RStitleList("id")%>).
<b><%=RSTitleList("question") %></b>      <%=RSTitleList("answer") %> <!--<a href="emailaddress.htm">-->More►<!--</a>--> <br>
<p>     <font color="purple"> answered by </font> <b>Sadhu</b> on 1-10-2015 </p>
</p>
<% RSTitleList.MoveNext%>
<%loop %>
您已找到底层错误消息(在服务器上)。重要的是:
[MySQL][ODBC 3.51 Driver]Access denied for user 'bla'@'162.253.126.112' (using password: YES)
由于您收到“访问被拒绝”的消息,并且 MySQL 身份”是用户名 + 主机的组合,因此这意味着以下三件事之一:
您向 MySQL 传递了错误的用户名...
和/或您从尚未被授予访问权限的主机登录...
和/或您向 MySQL 传递了错误的密码
通常,排除故障的最佳方法是使用 mysql 命令行客户端。我猜这可能不适合您。
另一种方法可能是控制面板 > ODBC > 测试连接:
但是,如果您的 IIS Web 服务器和 MySQL 数据库位于远程服务器(而不是本地)上,这也可能不是一个选择。
以下是解决 MySQL 用户名/密码问题的一些其他建议:
您还可以与您的托管提供商合作,验证用于对 MySQL 进行身份验证的用户名 + 主机 + 密码组合。