Microsoft Accessデータベースを使用するWebサイトをMySQLに移植しようとしています。出発点として、私は、SQLデータベースをオープンしようとしている:従来のASPでは、MySQLを開くときに500エラーが発生します。
(旧)アクセスコードは:
Set cn = Server.CreateObject ("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "PathToThe/database.db"
(新しい)MySQLのコードは次のとおりです。
Dim connection_string, cn
connection_string = "Driver={MySQL ODBC 5.1 Driver};" &_
"server=url;" &_
"port=3306;" &_
"option=131072;" &_
"stmt=;" &_
"database=databasename;" &_
"uid=username;" &_
"pwd=thepassword"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open connection_string
私は上記のコードを使用して、私は "500 - 内部サーバーのエラーを取得します。 "cn.Open connection_string"ステートメントをコメントアウトすると、エラーは発生しません(もちろん、データベースは開かれません)。
これは、ホスト型Windows 2012サーバー上にあります。
私は、MySQL Workbenchプログラムと上記のURL、データベース、ユーザー名、およびパスワードを使用してSQLデータベースに接続することができ、テーブルとデータを見ることができます。私のホストの "Test MySQL"コマンドを使ってデータベースを照会することができます。 "Select * from tablename"
私は接続文字列を何度もチェックしています。ソースコードからURL、パスワードなどをコピーしてWorkbenchに貼り付けて、誤字がないことを確認しました。私は "option ="設定なしで試してみました(3に設定しました)。私はconnection_string変数ではなく文字列リテラルを使用しようとしました。私は、データベースエラーではなく500エラーが発生することに驚いています。
Stumped。
更新:ホスティング会社にODBCドライバがインストールされていないことが判明しました。
DBはサーバー上で開いているので、私はその問題がURLであると思われます。 'localhost'を使ってみましたか? –
接続文字列が[ConnectionStrings.Comのもの]と異なって見えます(https://www.connectionstrings.com/mysql-connector-odbc-5-1/) – SearchAndResQ
考えられる原因はたくさんあります。 MyODBCドライバはインストールされて登録されていますか?あなたのコードで参照されているバージョンは、インストールされているバージョンと同じですか?あなたのウェブサイトのIUSRアカウントに読み取り/実行権限がありますか?私がお勧めするのは、間違ったことの詳細な説明が得られるように、フレンドリーなエラーメッセージを表示することです。http://www.chestysoft.com/asp-error-messages.asp – John