2017-03-22 41 views
0

Excel-VBAでMySQLドライバを使用してSQLデータベース接続を使用していました。これは誰にとってもうまくいかなかったので、我々はすべてのPCにMariaDBドライバをインストールし、これらのドライバを使用することに決めました。しかし、接続を開く速度は劇的に低下しています。ここに、新旧のvbaスクリプトのコードを示します。MariaDB 2.0.13とMySQL 5.3 ODBCドライバ(VBA接続)

p_dbConn.ConnectionString = _ 
      "DRIVER={MariaDB ODBC 2.0 Driver};" & _ 
      "SERVER=xx;" & _ 
      "DATABASE=xx;" & _ 
      "UID=xx;PASSWORD=xx;OPTION=3" 
    p_dbConn.Open 

    p_dbConn.ConnectionString = _ 
      "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _ 
      "SERVER=xx;" & _ 
      "DATABASE=xx;" & _ 
      "UID=xx;PASSWORD=xx;OPTION=3" 
    p_dbConn.Open 

私はこのスクリプトをデバッグモードで実行しましたが、.openステートメントはmariadbドライバで長くなりました。誰でも何か考えがありますか?

ありがとうございます!

答えて

1

私はそれはあなたが使用しているドライバではありません知っている...しかし、私は、SQLサーバーに接続するために、私のVBAコードで次の接続を使用します。

参照ファイル:マイクロソフトDAO 3.6オブジェクトライブラリ

'************************************* 
'* SQL Server database connection * 
'************************************* 
    Dim db As ADODB.Connection 
    Set db = New ADODB.Connection 
    db.Open "Provider=sqloledb; Data Source = 192.168.0.10; Database = [your DB Name];User Id = xxxxxx; Password = xxxxxxxx" 

コマンドを実行するために長い45秒以上かかる場合...

実行デフォルトの時間を延長するためにこれを使用
db.CommandTimeout = 1200 '(1200/60 = 20 minutes) 

サンプルシンプルなコマンド

Set rst = db.execute("Select * from [your table name]") 
db.execute("Delete from [your table name] where [your criteria]") 
+0

接続は迅速で、多くのPCやラップトップで日常的に使用されています。 –

関連する問題