Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    15

    Codice Asp connesso a Mysql

    Ciao, ho un problema su una pagina ASP che si connette ad un db Mysql.

    L'errore che ricevo è questo:

    Microsoft OLE DB Provider for ODBC Drivers errore "80040e14"

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '{ call lecategorie(1) }' at line 1

    L'errore nella Pagina ASP è riga 23

    Il codice della pagina indicato dall'errore è questo:

    Response.Buffer = true
    Dim catid, strcat
    catid = 1
    strcat = Request.QueryString ("cat")

    If catid = "" OR (IsNumeric(catid) = false) Then
    Response.Redirect "index.asp"
    End if

    Dim catname, productslist
    sub productInfo(connObj,category)
    q = chr(34)
    set cmd = server.CreateObject("ADODB.Command")
    cmd.ActiveConnection = connObj
    cmd.CommandText = "lecategorie"
    cmd.CommandType = adCmdStoredProc
    set param = cmd.CreateParameter("categoria",adInteger,adParamI nput,4)
    cmd.Parameters.Append(param)
    cmd("categoria") = Cint(category)
    set rs = server.CreateObject("ADODB.Recordset")
    set rs = cmd.Execute '(QUESTA E LA RIGA 23)
    if not rs.EOF then
    catname = rs("descrizione")


    Da sottolineare che la pagina era prima funzionante (ed è funzionante se la collego ad Access) e si collegava prima ad un db Access che ho trasformato in Mysql per migliori prestazioni, e si collegava al db Access con il metodo: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ecc...eccc..

    Ho cambiato la stringa di connessione e ricostruito il db in Mysql ma ricevo l'errore sopra riportato. Qualcuno può dirmi qualcosa?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Sembra che l´errore sia nella query che lí non é riportata. In secondo luogo ti consiglierei di visitare il sito http://www.mysql.com
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    15
    Ciao Eros,
    la pagina non effettua una query, ma in quella porzione di codice effettua solo una connessione al database.

    Ossia si connette solamente al database; magari l'errore è in uesta riga:

    cmd.ActiveConnection = connObj

    Questa pagina funziona rcorrettamnete se collegata al db Access con il metodo Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ecc...eccc...

    Solo che io ho trasformato il db da Access in Mysql (tramite Mysql-Front) e collegando questa pagina ASP al db con la nuova stringa di connessione, la pagina mi restituisce questo errore:

    "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '{ call lecategorie(1) }' at line 1"

    Grazie.

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    la stringa di connessione é diversa per mysql e poi con questa "set rs = cmd.Execute" che ci fai?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    15
    Lo so che la stringa è diversa; infatti utilizzo questa:

    sub openConn()
    Set dbc = Server.CreateObject("ADODB.Connection")
    strConn = "server=localhost;db=clienti;uid=username;pwd=pass word;Driver=MySQL ODBC 3.51 Driver"
    dbc.open strConn
    end sub

    Con "set rs = cmd.Execute" non so che ci faccio appunto; è il codice che c'era prima quando la pagina era collegata a db Access (e che quindi funzionava e funziona) e che devo modifcare (almeno credo) per adattarlo alla connessione con Mysql.

    Non so cosa bisogna modificare in quella porzione di codice della pagina ASP; sono qui apposta :rollo:

    Grazie.

  6. #6
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    manda in esecuzione una query. Una query che nel tuo codice non si vede.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    15
    Se utilizzo una pagina asp e invio query sul database utilizzando la connessione che ho indicato per Mysql, mi resituisce i dati.

    Ma io volevo sapere cosa c'è in questa pagina che non va, ossia questa porzione di codice asp:

    Dim catname, productslist
    sub productInfo(connObj,category)
    q = chr(34)
    set cmd = server.CreateObject("ADODB.Command")
    cmd.ActiveConnection = connObj
    cmd.CommandText = "lecategorie"
    cmd.CommandType = adCmdStoredProc
    set param = cmd.CreateParameter("categoria",adInteger,adParamI nput,4)
    cmd.Parameters.Append(param)
    cmd("categoria") = Cint(category)
    set rs = server.CreateObject("ADODB.Recordset")
    set rs = cmd.Execute '(QUESTA E LA RIGA 23)
    if not rs.EOF then
    catname = rs("descrizione")

    ...ha qualcosa che funziona se la pagina è collegata utilizzando la connessione: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ecc...eccc..., mentre utilizzando la connessione:

    sub openConn()
    Set dbc = Server.CreateObject("ADODB.Connection")
    strConn = " server=localhost;db=clienti;uid=username
    ;pwd=password;Driver=MySQL ODBC 3.51 Driver"
    dbc.open strConn
    end sub

    ...mi restituisce l'errore:

    --> Microsoft OLE DB Provider for ODBC Drivers errore "80040e14"

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '{ call lecategorie(1) }' at line 1 -->

    Boh!

  8. #8
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Ti ripeto. Quello é un errore di sintassi nella query in mysql. In pratica sembrerebbe che nella query tu stia passando "call lecategorie(1)" che dovrebbe richiamare una funzione. ma questo é un errore di sintassi, evidentemente. Ti consiglio di usare procedure semplici senza tutto quel "pó pó" di roba.
    Apri la connessione e lanci la query, ti ricavi il recordset e te lo gestisci come vuoi.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    15

    Purtroppo non ci riesco....

    Purtroppo non riesco a modificare quella porzione di codice; inoltre gli altri passaggi delle pagine ASP hanno sempre qualcosa che non va nel senso di interazione al Mysql. Sono 5-6 pagine ASP ma non riesco a sciogliere la matassa.

    Credo che devo rivedere le query al Mysql. Cercherò un programmatore esperto ASP + Mysql.

    Intanto grazie per l'aiuto e per la disponibilità.

  10. #10
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Di nulla. è relativamente semplice con la documentazione in linea. prova a vedere qualche esempio su http://www.freeasp.it/
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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.