2016-06-13 11 views
0

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ドライバがインストールされていないことが判明しました。

+0

DBはサーバー上で開いているので、私はその問題がURLであると思われます。 'localhost'を使ってみましたか? –

+0

接続文字列が[ConnectionStrings.Comのもの]と異なって見えます(https://www.connectionstrings.com/mysql-connector-odbc-5-1/) – SearchAndResQ

+1

考えられる原因はたくさんあります。 MyODBCドライバはインストールされて登録されていますか?あなたのコードで参照されているバージョンは、インストールされているバージョンと同じですか?あなたのウェブサイトのIUSRアカウントに読み取り/実行権限がありますか?私がお勧めするのは、間違ったことの詳細な説明が得られるように、フレンドリーなエラーメッセージを表示することです。http://www.chestysoft.com/asp-error-messages.asp – John

答えて

0

ホスティング会社には、ODBCドライバーがインストールされていないことが判明しました(逆の保証にもかかわらず)。 Groan。

関連する問題