従来のASP(VBScript)およびMSアクセスデータベースを使用してリモートのWindowsサーバーで長年実行されていた古いWebサイトを移動することを余儀なくされました。MySqlへのASPクラシック接続が動作しない
新しいホスティング会社(123-reg)は、Windowsサーバー上でMS Accessをサポートしていないため、現在はMySQLを使用しています。私はMySQLを他のサイトでも使用してきましたが、従来のASPではなく常にPHPを使用していましたので、ASPからMySQLデータベースに接続したことはありません。
ウェブサイトには何百ものページがあり、私がしなければならないことは接続文字列を変更することだけだったと思っていました。 [Microsoft]のODBC_Driver_Manager]私を困惑させた
を_Data_source_name_not_found_and_no_default_driver_specified |しかし、私は今、500エラー
80004005を取得します。
私は、私も試してみました
set Conn=server.createobject("ADODB.CONNECTION") set rs = server.createobject("ADODB.Recordset") conn.open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & servername & "; DATABASE=" & database & "; UID=" & username & ";PASSWORD=" & pword & "; OPTION=3;"
を試してみました:
conn.open "DRIVER={SQL Server};SERVER=" & servername & "\SQLEXPRESS;DATABASE=" & database & ";UID=" & username & ";PWD=" & pword"
と同様のqueationにthis previous answerを読んだ後:
conn.open "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=" & servername & "; DATABASE=" & database & "; UID=" & username & ";PASSWORD=" & pword & "; OPTION=3;charset=utf8;"
とまだ同じエラーを取得します。
私はインターネットとこのサイトを捜しましたが、情報を見つけるたびに自分のサーバーを使用していると仮定しています。ページ:https://support.microsoft.com/en-gb/kb/306345は私がサーバーレジストリに変更を加えたことを示唆しています。もちろん、これはできません。いずれにしても、123-regのような大規模な会社ではサーバー上のものを変更する必要があります私はデータベースに接続することができます。
したがって、私は接続コーディングで何か間違っているかもしれません(おそらく単純なものです)。
私は123レグでチケットを発行しましたが、それはコーディングの問題であり、私の理論を補強するものではありません。
私はこのことに関する助けに深く感謝しています。私は今、PHPでサイトを書き直す計画をしています。私はその作業をうまくやることができることを知っていますが、コードするページが何百もあるので、数ヶ月かかるでしょう。私はPHPでサイト全体を書き直しながら、現在のページを再び使用しています。
多くのおかげで
TOG
更新:1月11日 123-regが私に戻って来て、ODBCのバージョンは5.1.8であると述べています。私は、接続文字列を変更し、それでも500エラーを取得し、されています:
HTTP/1.1 500内部サーバーエラーのCache-Control:プライベート のContent-Length:250のContent-Type:text/htmlのサーバー:Microsoft- IIS/7.5 セットクッキー:ASPSESSIONIDCCQSTSCA = FLAJJCCDFENAOEMMCGFGNPCF;パス=/ X-Powered-By:ASP。NET日:水曜日、2017年1月11日14時46分07秒GMT接続:URL
行番号なしエラーの説明がありませんを処理するときにエラーを閉じ は、サーバー上で発生しました。
私は接続をテストするための簡単なページを書かれているし、私の完全なコードは次のとおりです。
<%@ Language=VBScript %> <% option explicit Response.Buffer = true '============================= 'database connection variables dim servername, username, pword, database servername = "cust-mysql-123-19" 'The name of the Server username = "atourist" 'The username for the database pword = "redacted for this post" 'The password for the database database = "atourist" 'The database to use '============================ dim rs dim strSQL dim conn dim ds dim county dim numrec county="Grampian" %> <html> <head> <title>Test Page</title>] </head> <body> <% ' connect to database and retrieve recordset set conn=server.createobject("ADODB.CONNECTION") set rs = server.createobject("ADODB.Recordset") strSQL = "select * from ukgh where county='" & county & "' ORDER by random ASC" conn.open "DRIVER={MySQL ODBC 5.1.8. Driver}; SERVER=" & servername & "; DATABASE=" & database & "; UID=" & username & ";PASSWORD=" & pword & "; OPTION=3;" set rs = conn.Execute(strSQL) '=============================== ds=rs.GetRows() rs.close conn.close set rs = nothing set conn = nothing 'display records for Numrec =LBound(ds, 2) To UBound(ds, 2) response.write DS(1, numrec) & ", " & DS(2, numrec) & "<br />" Next %> </body> </html> <% response.end %>
MySql ODBC 3.51ドライバはインストールされていますか? [こちらからダウンロードできます](https://dev.mysql.com/downloads/connector/odbc/3.51.html)。必要な接続文字列は次のとおりです。 'Driver = {MySQL ODBC 3.51ドライバ}; Server = myServerAddress; Database = myDataBase; ユーザー= myUsername;パスワード= myPassword;オプション= 3; '(https://www.connectionstrings.com/mysql-connector-odbc-3-51/から) –
@Lynnありがとうございます。サイトが123-regによってリモートでホストされるため、ドライバをインストールするための機能私はすでにあなたが提案した接続文字列を試しましたが(上記参照)、動作しません。 –
123-regのサポート担当者がコーディングの問題であると言っているだけで、コーディングの問題ではありません。 :/あなたはMySQLのODBC 3.51ドライバがインストールされているかどうか尋ねることができますか? – Martha