Usare Node.js per eseguire query su un database SQL di AzureUse Node.js to query an Azure SQL database

Questa esercitazione introduttiva illustra come usare Node.js per creare un programma per connettersi a un database SQL di Azure e usare istruzioni Transact-SQL per eseguire query sui dati.This quickstart tutorial demonstrates how to use Node.js to create a program to connect to an Azure SQL database and use Transact-SQL statements to query data.

PrerequisitiPrerequisites

Per completare questa esercitazione introduttiva, accertarsi di soddisfare i requisiti seguenti:To complete this quickstart tutorial, make sure you have the following:

  • Avere una regola del firewall a livello di server per l'indirizzo IP pubblico del computer usato per questa esercitazione introduttiva.A server-level firewall rule for the public IP address of the computer you use for this quickstart tutorial.

  • Avere installato Node.js e il software correlato adatti per il sistema operativo in uso:You have installed Node.js and related software for your operating system:

    • MacOS: installare Homebrew e Node.js e quindi installare il driver ODBC e SQLCMD.MacOS: Install Homebrew and Node.js, and then install the ODBC driver and SQLCMD. Vedere i passaggi 1.2 e 1.3.See Step 1.2 and 1.3.
    • Ubuntu: installare Node.js e quindi installare il driver ODBC e SQLCMD.Ubuntu: Install Node.js, and then install the ODBC driver and SQLCMD. Vedere i passaggi 1.2 e 1.3.See Step 1.2 and 1.3 .
    • Windows: installare Chocolatey e Node.js e quindi installare il driver ODBC e SQLCMD.Windows: Install Chocolatey and Node.js, and then install the ODBC driver and SQL CMD. Vedere i passaggi 1.2 e 1.3.See Step 1.2 and 1.3.

Informazioni di connessione SQL ServerSQL server connection information

Ottenere le informazioni di connessione necessarie per connettersi al database SQL di Azure.Get the connection information needed to connect to the Azure SQL database. Nelle procedure successive saranno necessari il nome completo del server, il nome del database e le informazioni di accesso.You will need the fully qualified server name, database name, and login information in the next procedures.

  1. Accedere al Portale di Azure.Log in to the Azure portal.
  2. Scegliere Database SQL dal menu a sinistra, quindi fare clic sul database nella pagina Database SQL.Select SQL Databases from the left-hand menu, and click your database on the SQL databases page.
  3. Nella pagina Panoramica per il database, verificare il nome completo del server, come mostrato nell'immagine seguente.On the Overview page for your database, review the fully qualified server name as shown in the following image. È possibile passare il puntatore sul nome del server per visualizzare l'opzione Fare clic per copiare.You can hover over the server name to bring up the Click to copy option.

    server-name

  4. Se si dimenticano le informazioni di accesso per il server, passare alla pagina del server di database SQL per visualizzare il nome dell'amministratore del server.If you forget your server login information, navigate to the SQL Database server page to view the server admin name. Se necessario, reimpostare la password.If necessary, reset the password.

Importante

È necessario avere una regola del firewall impostata per l'indirizzo IP pubblico del computer su cui si esegue questa esercitazione.You must have a firewall rule in place for the public IP address of the computer on which you perform this tutorial. Se si usa un computer o un indirizzo IP pubblico diverso, creare una regola del firewall a livello di server con il portale di Azure.If you are on a different computer or have a different public IP address, create a server-level firewall rule using the Azure portal.

Creare un progetto Web Node.jsCreate a Node.js project

Aprire un prompt dei comandi e creare una cartella denominata sqltest.Open a command prompt and create a folder named sqltest. Passare alla cartella creata ed eseguire questo comando:Navigate to the folder you created and run the following command:

npm init -y
npm install tedious
npm install async

Inserire il codice per eseguire query sul database SQLInsert code to query SQL database

  1. Nell'ambiente di sviluppo o nell'editor di testo preferito creare un nuovo file, sqltest.js.In your development environment or favorite text editor, create a new file, sqltest.js.

  2. Sostituire il contenuto con il codice seguente e aggiungere i valori appropriati per il server, il database, l'utente e la password.Replace the contents with the following code and add the appropriate values for your server, database, user, and password.

    var Connection = require('tedious').Connection;
    var Request = require('tedious').Request;
    
    // Create connection to database
    var config = 
       {
         userName: 'someuser', // update me
         password: 'somepassword', // update me
         server: 'edmacasqlserver.database.windows.net', // update me
         options: 
            {
               database: 'somedb' //update me
               , encrypt: true
            }
       }
    var connection = new Connection(config);
    
    // Attempt to connect and execute queries if connection goes through
    connection.on('connect', function(err) 
       {
         if (err) 
           {
              console.log(err)
           }
        else
           {
               queryDatabase()
           }
       }
     );
    
    function queryDatabase()
       { console.log('Reading rows from the Table...');
    
           // Read all rows from table
         request = new Request(
              "SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid",
                 function(err, rowCount, rows) 
                    {
                        console.log(rowCount + ' row(s) returned');
                        process.exit();
                    }
                );
    
         request.on('row', function(columns) {
            columns.forEach(function(column) {
                console.log("%s\t%s", column.metadata.colName, column.value);
             });
                 });
         connection.execSql(request);
       }
    

Eseguire il codiceRun the code

  1. Al prompt dei comandi eseguire questi comandi:At the command prompt, run the following commands:

    node sqltest.js
    
  2. Verificare che vengano restituite le prime 20 righe e quindi chiudere la finestra dell'applicazione.Verify that the top 20 rows are returned and then close the application window.

Passaggi successiviNext steps