Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1

    [VB6] Connessione a database Mysql e timeout obbligato

    Scusate per il titolo poco chiaro.

    In una mia applicazione, mi collego a 6 database mysql utilizzando questa riga di connessione

    codice:
        Set conn1 = CreateObject("ADODB.Connection")
        mysql_host = ""
        mysql_userid = ""
        mysql_password = ""
        mysql_database = ""
        mysql_port = ""
        connect_string = "Provider=MySqlProv;Data Source=" & Chr(34) & "server=" & mysql_host & ";DB=" & mysql_database & ";User=" & mysql_userid & ";Password=" & mysql_password & ";Option=131088; Stmt=;Port=" & mysql_port & "" & Chr(34)
        conn1.Provider = "MySqlProv"
        conn1.ConnectionString = connect_string
        conn1.CommandTimeout = 1
        conn1.ConnectionTimeout = 1
        conn1.CursorLocation = adUseServer

    Il programma funziona bene, ma:

    se tutti i db sono UP, non c'è nessun tempo di attesa, se per caso 1 o più database non sono raggiungibili per i più svariati motivi, l'attesa diventa lunghissima.

    Praticamente VB6 si "blocca" e resta in attesa di un timeout che può variare a seconda di dove eseguo la mia applicazione (tra 10 e 40 secondi per ogni database non attivo).

    Capite che quando ci sono 2 o più database offline, l'attesa diventa snervante.

    Come posso ovviare a questa situazione?
    La voce connectiontimeout = 1, messa a 1, 100 o 1000 non mi fa cambiare nulla.


    Ciao!
    PIERCHI

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nella stringa di connessione aggiungi

    Connection Timeout= 1;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    se intendi dire così:

    codice:
    connect_string = "Provider=MySqlProv;Data Source=" & Chr(34) & "server=" & mysql_host & ";DB=" & mysql_database & ";User=" & mysql_userid & ";Password=" & mysql_password & ";Option=131088; Stmt=; Connection Timeout = 1; Port=" & mysql_port & "" & Chr(34)
    non ho notato cambiamenti.
    PIERCHI

  4. #4
    e sinceramente non trovo nessun forum o luogo in cui ne parlano...
    PIERCHI

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da pierchi Visualizza il messaggio
    e sinceramente non trovo nessun forum o luogo in cui ne parlano...
    Quello che ti ho indicato dovrebbe risolvere. Forse ci sono altri problemi, magari di risoluzione DNS o di rete?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Quello che ti ho indicato dovrebbe risolvere. Forse ci sono altri problemi, magari di risoluzione DNS o di rete?
    Il mio programma gira su una rete locale.
    Il problema si presenta SEMPRE, da quando ho iniziato ad aggiungere diversi database.

    Il problema si presenta anche su altre reti locali dove ho provato il programma.

    Non ho mai provato a farlo funzionare tramite internet, perchè non è stato ideato per quello. E' nato e viene utilizzato solo per reti lan.

    Non saprei come risolvere in altro modo, perchè se faccio il ping al pc del database e quello è online, non vuol dire che mysql sia attivo.


    PIERCHI

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa ma come è fatta la stringa di connessione? Ci mostri il risultato facendo copia incolla del suo contenuto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    537
    premesso che non ho mai provato la connessione di mysql con un file udl,
    se creandolo, nei provider compare il driver mysql (visto che dovresti averlo installato), potresti inserire i parametri di connessione
    e poi nella sezione avanzate inserire il timeout di connessione
    ti offre anche il bottone di prova della connessione
    ti costa qualche minuto e nel vb (a parte i nomi ... ) puoi inserire
    codice:
     Set tdb = CreateObject("ADODB.Connection")
    tdb.connectionstring = "file name=E:\TEMP\TestDB_NativeClient.UDL;"
    tdb.Open

  9. #9
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Scusa ma come è fatta la stringa di connessione? Ci mostri il risultato facendo copia incolla del suo contenuto?
    codice:
    Set conn = CreateObject("ADODB.Connection")
    connect_string = "Provider=MySqlProv;Data Source=" & Chr(34) & "server=" & mysql_host & ";DB=" & mysql_database & ";User=" & mysql_userid & ";Password=" & mysql_password & ";Option=131088; Stmt=; Connection Timeout = 1; Port=" & mysql_port & "" & Chr(34)
        conn.Provider = "MySqlProv"
        conn.ConnectionString = connect_string
        conn.CommandTimeout = 10
        conn.CursorLocation = adUseServer
        On Error GoTo Connect_Error
        If Not (conn.State = adStateOpen) Then
        conn.Properties("PROMPT") = adPromptNever
        conn.Open
    questa è la stringa che uso per connettermi.
    PIERCHI

  10. #10
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    premesso che non ho mai provato la connessione di mysql con un file udl,
    se creandolo, nei provider compare il driver mysql (visto che dovresti averlo installato), potresti inserire i parametri di connessione
    e poi nella sezione avanzate inserire il timeout di connessione
    ti offre anche il bottone di prova della connessione
    ti costa qualche minuto e nel vb (a parte i nomi ... ) puoi inserire
    codice:
     Set tdb = CreateObject("ADODB.Connection")
    tdb.connectionstring = "file name=E:\TEMP\TestDB_NativeClient.UDL;"
    tdb.Open
    Cerco informazioni riguardo la connessione con file udl, perchè non ne ho mai utilizzato uno
    PIERCHI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.