Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Sintassi SQL diversa?

  1. #1

    Sintassi SQL diversa?

    Sto sostituendo una vecchia macchina NT server con una nuova su cui gira Windows 2003 Server. Sto facendo un grosso lavoro di riadattamento delle pagine web scritte in ASP che utilizzano database di una vecchia versione di SQL Server. In pratica ho intenzione di utilizzare MySQL ed il passaggio, a quanto ho notato, non è indolore.

    Un primo scoglio l'ho incontrato nella sintassi dell'istruzione SELECT. Le vecchie pagine portano un'istruzione di questo tipo:

    'Viene aperta prima di tutto una connessione facendo riferimento ad un DSN
    '(il DSN non specifica alcun database)
    'poi si costruisce la stringa seguente e qui si stabilisce il database
    'su cui operare:

    sql = SELECT DataBase..Tabella.Campo FROM DataBase..Tabella WHERE DataBase..Tabella.Campo = "pippo"



    Mentre la forma oggi utilizzata è:

    'In fase di connessione si stabilisce il database...

    Con.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=mydatabase;UID=user;PWD=password;"

    '...e la query ci lavora sopra
    strSQL = "SELECT * FROM Tabella WHERE Campo = 'pippo'"


    Vorrei capire bene se la sintassi della select in cui si specifica il database, seguito dai due puntini, è ancora valida oppure no.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questa

    codice:
    Con.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=mydatabase;UID=user;PWD=passwor
    d;"
    non è una SELECT ma la connessione al db MySQL che è diversa da quella di SQL Server.
    Le SELECT sono sotanzialmente le stesse.
    Questa

    codice:
    strSQL = "SELECT * FROM Tabella WHERE Campo = 'pippo'"
    è corretta ma va bene anche su SQLServer.

    Roby

  3. #3
    Ma come mai non viene riconosciuta la sintassi database..tabella.campo ?

    Mi da un messaggio di errore specificando che i due ".." non sono riconosciuti

    Con MySQL è possibile non specificare alcun database lasciando poi il compito alla select di utilizzare il db desiderato?

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Io database.. non l'ho mai usato.
    La SELECT usa le tabelle, la connessione il db.
    Quando apri il recordset unisci le due informazioni.

    Roby

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Originariamente inviato da donatobeltomo
    Ma come mai non viene riconosciuta la sintassi database..tabella.campo ?

    Mi da un messaggio di errore specificando che i due ".." non sono riconosciuti

    Con MySQL è possibile non specificare alcun database lasciando poi il compito alla select di utilizzare il db desiderato?
    Il database da utilizzare lo devi specificare nella stringa di connessione.
    Se usi ODBC lo devi specificare nell'ODBC...
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

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.