ホームページ > データベース > mysql チュートリアル > VBA コードが MySQL データベースに接続できないのはなぜですか? どのように修正すればよいですか?

VBA コードが MySQL データベースに接続できないのはなぜですか? どのように修正すればよいですか?

Barbara Streisand
リリース: 2024-10-29 04:46:29
オリジナル
577 人が閲覧しました

Why Is My VBA Code Failing to Connect to My MySQL Database and How Can I Fix It?

VBA を使用して Excel を MySQL データベースに接続する

VBA を使用して Excel 内から MySQL データベースに接続するのは、特に標準の接続方法が機能しない場合に困難になる場合があります。 。発生した特定のエラーを理解することは、解決策を見つけるために非常に重要です。

提供されたコードでは、接続エラーは New キーワードの誤った使用が原因である可能性が高くなります。接続を確立するには、New を使用せずに ADODB.Connection オブジェクトのインスタンスを作成する必要があります。したがって、修正されたコードは次のようになります。

<code class="vba">Dim oConn As ADODB.Connection
Private Sub ConnectDB()
Set oConn = CreateObject("ADODB.Connection")
Dim str As String
str = "DRIVER={MySQL ODBC 5.2.2 Driver};" & _
"SERVER=sql100.xtreemhost.com;" & _
"PORT=3306" & _
"DATABASE=xth_9595110_MyNotes;" & _
"UID=xth_9595110;" & _
"PWD=myPassword;" & _
"Option=3"
''' error '''
oConn.Open str
End Sub</code>
ログイン後にコピー

さらに、データベースから Excel にデータを挿入するために使用されるコードも若干間違っていることに注意してください。 InsertData サブルーチンの修正バージョンは次のとおりです。

<code class="vba">Private Sub InsertData()
Dim rs As ADODB.Recordset
Set rs = CreateObject("ADODB.Recordset")
ConnectDB
sql = "SELECT * FROM ComputingNotesTable"
rs.Open sql, oConn, adOpenDynamic, adLockOptimistic
Do Until rs.EOF
    Range("A1").Select
    ActiveCell = rs.Fields("Headings")
    rs.MoveNext
Loop
rs.Close
oConn.Close
Set rs = Nothing
End Sub</code>
ログイン後にコピー

比較のために、MySQL サーバーに正常に接続する PHP コードの例を次に示します。

<code class="php">$connect = mysql_connect("sql100.xtreemhost.com","xth_9595110","myPassword") or die(mysql_error());
mysql_select_db("myTable",$connect);</code>
ログイン後にコピー

これらの変更されたコードに従うと、 MySQL データベースへの接続を確立し、VBA を使用して Excel 内からそのデータを操作できるはずです。

以上がVBA コードが MySQL データベースに接続できないのはなぜですか? どのように修正すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート