mysql - ASP访问MySQL迁移

标签 mysql asp-classic

我有一个asp内网系统,我需要将Access DB后端更改为MySQL,Access DB只是以与sql表类似的结构使用。我创建了具有相同结构和命名约定的 sql 表。

ASP Classic 应用程序有一个文件夹,其中包含连接到每个单独数据库的连接,其中有 8 个 Access DB,现在已合并为 1 个 MySQL 数据库中的表。

我在浏览器中显示错误消息时遇到问题,即使在 IIS7 中将错误页面设置为远程显示后,也只是出现内部错误

旧连接:

            <%
            Dim MM_Employee_STRING
            MM_Employee_STRING = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("/employee/DB/employee.mdb")
            %>

新连接:

            <%
            Dim MM_Employee_STRING
            MM_Employee_STRING = "DRIVER={MySQL ODBC 5.2};SERVER=localhost;UID=root;PWD=password;DATABASE=db")
            %>

登录ASP代码:

            MM_LoginAction = Request.ServerVariables("URL")
            If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
            MM_valUsername=CStr(Request.Form("UserName"))
            If MM_valUsername <> "" Then
              MM_fldUserAuthorization="securityLevel"
              MM_fldUserRaisedID="RaisedNameID"
              MM_redirectLoginSuccess="index.asp"
              MM_redirectLoginFailed="error.asp"
              MM_flag="ADODB.Recordset"
              set MM_rsUser = Server.CreateObject(MM_flag)
              MM_rsUser.ActiveConnection = MM_Employee_STRING
              MM_rsUser.Source = "SELECT LoginUsername, LoginPassword, ID FROM employee_detail"
              If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization & "," & MM_fldUserRaisedID
              MM_rsUser.Source = MM_rsUser.Source & " FROM employee_detail WHERE LoginUsername='" & Replace(MM_valUsername,"'","''") &"' AND LoginPassword='" & Replace(Request.Form("Password"),"'","''") & "'"
              MM_rsUser.CursorType = 0
              MM_rsUser.CursorLocation = 2
              MM_rsUser.LockType = 3
              MM_rsUser.Open
              If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
                ' username and password match - this is a valid user
                Session("MM_Username") = MM_valUsername
                If (MM_fldUserAuthorization <> "") Then
                  Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
                  Session("MM_UserID") = MM_rsUser.Fields.Item("ID").Value
                  Session("MM_RaisedUserID") = MM_rsUser.Fields.Item("RaisedNameID").Value
                Else
                  Session("MM_UserAuthorization") = ""
                End If
                if CStr(Request.QueryString("accessdenied")) <> "" And false Then
                  MM_redirectLoginSuccess = Request.QueryString("accessdenied")
                End If
                MM_rsUser.Close
                Response.Redirect(MM_redirectLoginSuccess)
              End If
              MM_rsUser.Close
              Response.Redirect(MM_redirectLoginFailed)
            End If

就 ASP 而言,我从未接触过它,我即将将其全部转换为 ASP.Net 并重写它,但想知道我是否错过了一些明显的东西!

谢谢

最佳答案

如果没有错误消息,我会发现两个潜在的问题:

首先,ID可能是MySQL中的保留字,也是导致一两个错误的原因。详细的错误消息将指示这是否是问题所在。

其次,看起来您最终可能会得到一个包含两个 FROM 子句的 SQL 语句。 Response.Write SQL 并检查发送到服务器的语句。编辑您的问题以将其包含在内。

关于mysql - ASP访问MySQL迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19141953/

相关文章:

javascript - 如何使 .focus() 在单选按钮数组上工作?

HTML 表单值在经典 ASP 中添加逗号

php - 安装迁移 (laravel) 期间 mysql 服务器已经消失错误

php - 使用 Doctrine 插入时 mysql 上的重复条目

php - 仓库管理应用程序 - 主键自动增量字母。

xml - 如何使用 VBScript 和 XPATH 查找 XML 中元素的序号位置

asp.net - 如何基于客户端硬件或其他解决方案实现网站安全?

javascript - 从一个页面链接到另一个经典 ASP 的下拉列表中选择值

c# - 如何检索部分存储在数据库中的日期列表并将其绑定(bind)在c#中的gridview中

java - Spring 数据 JPA 存储库不保存到数据库