Giugno 2017

Volume 32 Numero 6

Il presente articolo è stato tradotto automaticamente.

Concetti sui dati - Visual Studio Code: Crea un IDE di database con estensione MSSQL

Da Julie Lerman | Giugno 2017

Julie LermanAnche se Visual Studio è ancora my IDE come per lo sviluppo .NET robusto alloggiamento, ho scesa head oltre heels con codice di Visual Studio (codice di Visual Studio), se si lavora in c# o JavaScript o nodo e se si lavora in Windows o in macOS. Naturalmente, esistono molti altri linguaggi e altri Framework supportati da Visual Studio Code e le relative estensioni innumerevoli, ma questi sono il set di strumenti corrente. Non mi solo my piace per Visual Studio Code. Durante l'avvio di Visual Studio 2017 nel marzo 2017, Microsoft ha annunciato che il codice di Visual Studio presenta 1,3 milioni di utenti attivi per mensili. Che cos'è una soluzione ideale è che, come con qualsiasi strumento multipiattaforma, ogni membro del team può selezionare i Preferiti del sistema operativo, ma tutti possono ancora usare gli stessi strumenti di codifica.

E quindi non ci sono dati, è sempre dati coinvolti. Ho trascorso anni e anni funziona solo con SQL Server e codifica di applicazioni di Windows. Ma negli ultimi anni, ho espansa my orizzonti, non solo con una nuova IDE (codice di Visual Studio), ma anche i nuovi database e nuove piattaforme (come digitato nel mio MacBook Pro).

Il record nel codice di Visual Studio è stata avviata come parte del personale wanderings in Node. js, vederlo in questa colonna molto. Che era in origine in Windows. Ma, poiché Visual Studio Code è multipiattaforma (creata con elettronici), infine individuati per me passare avanti e indietro, utilizza lo stesso codice, a volte in finestre, talvolta macOS con GitHub come il denominatore comune. Grazie all'estensione c# e la natura multipiattaforma di .NET Core, ha raggiunto oltre Node.js scrittura di App .NET Core con Entity Framework di base in entrambi gli ambienti. In Visual Studio, si basano su SQL Server Data Tools predefinite e l'estensione della casella degli strumenti di SQL CE/SQLite per esplorare la maggior parte dei dati che creano App personali. Ma con codice di Visual Studio, è necessario un elemento esterno per esplorare i dati. Quando si utilizza Windows e il codice di Visual Studio super leggero, non ritenuto mai verso destra per aprire SQL Server Management Studio, ovvero qualsiasi valore diverso lightweight. Per altri database, sia su my caselle di Windows o Mac, anche utilizzo JetBrains DataGrip (jetbrains.com/datagrip), uno strumento multipiattaforma con database che supporta una gamma di database.

Ma, come l'universo di estensioni per Visual Studio Code è notevolmente aumentate (solo se non si 3.000 come scrivo questo ritardo aprile 2017), una serie di estensioni per l'interazione con gli archivi dati provengono alla tabella. Sono due che ho già lavorato con l'estensione mssql (bit.ly/2gb2ICf) dal team di SQL Server e l'estensione database di vscode per SQLite e PostgreSQL (bit.ly/2mh8nYF). Questi consentono di scrivere ed eseguire SQL sul database. È possibile visualizzare le demo di entrambi il corso Pluralsight, "Entity Framework Core: Guida introduttiva." Esistono altri dati correlati, anche estensioni, ad esempio, per interagire con Azure Data Lake (anche da Microsoft), Redis e SalesForce dati. Alcune di queste sono ancora in anteprima, inclusa l'estensione mssql.

In questo articolo verrà alcuni dei concetti alla base dell'utilizzo dell'estensione mssql. È pianificato per scrivere sul mssql e vscode-database, ma mssql è talmente ricco di funzionalità, si ha una funzione molto interessante, esplorazione e riempito facilmente il numero di parole per questa colonna. Non è rilevante se si è in Windows, macOS o Linux, usare mssql.

L'estensione mssql consente di interagire con un'ampia gamma di database di SQL Server: Microsoft SQL Server, Database SQL di Azure e SQL Data Warehouse. Come casualmente da una postazione un MacBook, effettuata la connessione a un Server SQL esterno. È possibile tenere presente che ora viene eseguito SQL Server in Linux, è che non straordinaria? Ciò significa che è stato possibile creare rapidamente un contenitore Docker che esegue SQL Server. Non farlo per questo articolo, ma ho scritto un post di blog su questo, è possibile leggere in bit.ly/2qaev9r. Che cosa verrà fare, tuttavia, è connettersi a un database del Server SQL Azure nel cloud. Questo è un potente promemoria che non è necessario essere amministratore o uno sviluppatore di Windows e c# per sfruttare i vantaggi di SQL Server. È possibile gestirlo nel portale di Azure e connettersi ad esso da qualsiasi tipo di app. In tal caso, si supponga l'app è PHP e si utilizza l'estensione di PHP per il codice di Visual Studio e parla in un database di SQL Server in Azure. 

Sfruttato l'account gratuito di Azure e i crediti inclusi in una sottoscrizione di Visual Studio per creare un database SQL di Azure in base l'esempio di AdventureWorks. La documentazione relativa a tale scopo è bit.ly/2o2IDTy.

Nel codice di Visual Studio, è possibile installare l'estensione mssql facendo clic sull'icona di estensione nella barra attività del codice di Visual Studio, filtrando mssql e quindi fare clic sul relativo pulsante Installa. Verrà richiesto di ricaricare il codice di Visual Studio quando è pronto, ma tenere presente che verrà ritardata installazione fanno parte dell'estensione finché non si utilizza uno dei comandi. Si noti che per macOS, è necessario installare OpenSSL. Consultare la documentazione mssql collegamento (fornito in precedenza) per informazioni dettagliate.

Oltre il motore di esecuzione di query che è installato, mssql colloca una gamma di comandi nel riquadro comandi di Visual Studio Code. È opportuno avviare tramite la connessione al database, anche se altre funzioni verranno richiesto di connettersi se hai già fatto.

Aprire la tavolozza con F1 (o Ctrl o comando + MAIUSC + P se si dispone di uno di tali tastiere senza tasti funzione divertenti) e digitare MS SQL per filtrare tutti i comandi mssql. Se non si dispone di altre estensioni che forniscono i comandi con la parola chiave SQL, SQL appena si rivela. Amo è anche possibile ottenere per i file con il comando Guida introduttiva. È possibile inoltre archiviare diverse connessioni e connettersi con facilità con la funzionalità di gestione dei profili di connessione.

Il modo più semplice per interagire con mssql consiste nel disporre di un file aperto per la modifica e verificare che il codice di Visual Studio sa che SQL è possibile modificare. Se si dispone di una cartella o un progetto aperto grazie al nuovo comando di query, è possibile farlo. Che verrà creato un file SQLQuery.sql e l'estensione sql causerà il codice di Visual Studio per passare all'editor mssql. L'editor corrente è indicato nell'angolo inferiore destro di Visual Studio Code e questo viene modificato in base alle estensioni di file per fornire IntelliSense appropriate e altre funzionalità rilevanti fornita dall'estensione. È possibile fare clic sugli elementi visualizzati per modificarlo se necessario. L'editor mssql non solo è fornire informazioni sulla scrittura TSQL, anche grado di eseguire query ed eseguire altre attività definite dall'estensione.

Con un file SQL aperto nell'editor, selezionando MS SQL: Connettersi dal riquadro comandi verrà visualizzato un elenco dei profili di connessione esistenti già creati e consentono di creare una nuova. Selezionare Crea profilo di connessione e si verrà quindi richiesto per ogni elemento chiave della stringa di connessione. Ad esempio, richiede la prima richiesta per il nome del Server, come illustrato nella figura 1. Il database di SQL Azure è in un server denominato thedatafarmsqlerver.database.windows.net, in modo che non immetterà.

Connessione a un Database SQL con l'estensione mssql
Figura 1 connessione a un Database SQL con l'estensione mssql

Successivamente, verrà chiesto di immettere il nome del database, l'account di accesso e password, quindi un nome di profilo facoltativo. Comunque, gestire i profili di connessione può inoltre causare è a questo punto perché contiene un'opzione di menu Crea.

Dopo aver compilato le informazioni di connessione e connessi correttamente, il profilo verrà vengono salvato nel file di impostazioni di Visual Studio Code. Con la versione 0,3, se la connessione non riesce, il profilo non vengono memorizzato; ma tale esperienza acquisita consiste nel modificare la presentazione. È possibile esaminare il profilo memorizzato passando a preferenze e impostazioni dal menu di Visual Studio Code o tramite il tasto Ctrl o comando +, combinata di sequenza di tasti (virgola). Di seguito è riportato un esempio di un profilo di connessione:

"mssql.connections": [
  {
    "authenticationType": "SqlLogin",
    "server": "thedatafarmsqlserver.database.windows.net",
    "database": "AdventureWorksSample",
    "user": "me",
    "password": "mypassword",
    "savePassword": true,
    "profileName": "AzureAWSample"}
  }
]

Con i profili memorizzati nelle impostazioni, è possibile selezionare AzureAWSample o altri profili archiviati quando si desidera connettersi.

Una volta connessi, è possibile iniziare la scrittura e l'esecuzione di TSQL. Il modo più semplice per eseguire questa operazione è che un file con estensione SQL aperto nell'editor. Come già accennato, in questo modo le funzionalità dell'editor SQL per avviare e una delle relative funzionalità eccellente è i frammenti di codice TSQL incorporati.

Iniziare a digitare sql nella finestra dell'editor e IntelliSense verrà visualizzato l'elenco di frammenti di codice incorporati, come illustrato nella figura 2.

TSQL frammenti di codice fornito dall'estensione mssql
Figura 2 TSQL frammenti di codice fornito dall'estensione mssql

È possibile vedere che non è limitato a semplicemente eseguire query sui dati esistenti, ovvero mssql eseguirà qualsiasi TSQL (valido e consentito). Per elencare i database o tabelle e viste da un database selezionato per verificare che sono connessi al database corretto e il frammento di ListTablesAndViews è molto utile che desidero. In genere, sarebbe necessario chiedere di ripristino di emergenza. GoogleBing per me con TSQL simile al seguente, in modo che sono molto grato per questo frammento di codice.

Tenendo premuto Ctrl o comando + MAIUSC + E verrà eseguito il comando. È anche possibile selezionare il testo e fare doppio clic su per il menu di scelta rapida, che include un'opzione di esecuzione.

Apre un riquadro dei risultati con la risposta simile a quello in figura 3.

Risultati di una Query di Schema
Figura 3 risultati di una Query di Schema

In alto a destra, si noti sono presenti due icone piccole. Il primo consente di salvare i risultati come file di testo CSV. La seconda è per salvare i risultati come JSON. Si esegue una query che ottiene i dati dei clienti, vedere cosa tali risultati simile, quindi salvano in JSON. Con l'elenco di tabelle davanti a me, è possibile avviare digitando la query e, come figura 4 seguente, IntelliSense viene attivata con informazioni dello schema del database.

IntelliSense legge TSQL dello Schema e consente di compilazione
Figura 4 IntelliSense legge TSQL dello Schema e consente di compilazione

L'istruzione select per ottenere tre colonne da SalesLT.Customer modificato. Quindi, è stato possibile evidenziare l'istruzione ed eseguire di nuovo Ctrl o comando + MAIUSC + E tasto di scelta rapida per eseguire solo tale query. Come con SQL Server Management Studio, sono in grado eseguire uno o più istruzioni e, in risposta, vedere uno o più set di risultati.

I risultati vengono presentati in una griglia, come illustrato nella figura 5. È possibile evidenziare uno o più combinazioni di righe e colonne e quindi scegliere le icone CSV o JSON, che verranno quindi richiesto per il nome file da salvare. Ed è possibile facilmente selezionare tutti i dati da un menu di scelta rapida facendo clic sulla griglia.

Risultati di una Query di dati del cliente
Figura 5 risultati di una Query di dati del cliente

La richiesta del nome file consente di visualizzare il percorso della cartella corrente. In caso in cui si desidera salvare il file, non è necessario digitare nuovamente il percorso. Digitare solo il nome del file e salvarlo in tale cartella. Non sapevano che le prime volte, è pertanto imparare dall'errore.

Solo la prima riga dei dati cliente query prevista e quindi usata Salva in icona JSON, specificare un nome file selezionato. Di seguito è riportato il formato JSON che è l'output al file:

[
  {
    "CustomerID": "1",
    "FirstName": "Orlando",
    "LastName": "Gee"
  }
]

Tenere presente che è possibile aggiungere frammenti personalizzati facilmente a Visual Studio Code. È possibile crearne uno per visualizzare l'elenco di funzioni e stored procedure. Iniziare dalle preferenze e i frammenti di codice utente. Si noterà che l'estensione mssql aggiunto un modello per i frammenti di codice SQL. Scegliere che e il modello vuoto verrà aperto. Quando si aggiungono più frammenti di codice, si continuerà a funzionare in questo file. Inoltre, se sono stati creati alcuni frammenti di codice da condividere (o forse trova un bug o che un altro per mssql), si tratta di un'estensione di origine aperti e passando a cui è possibile contribuire github.com/Microsoft/vscode-mssql per inviare richieste pull o problemi.

Dopo una sessione lungo con ripristino di emergenza. GoogleBing e testing varie idee, il frammento di codice è stato creato per elencare tutte le stored procedure e funzioni nel database di destinazione:

"List Stored Procedures": {
  "prefix": "sqlListStoredProcedures",
  "body": [
    "SELECT [Name],[Type_Desc] " ,
    "FROM [sys].[all_objects] " ,
    "WHERE ([Type] = 'P' OR [Type]='FN' OR [Type]='TF' OR [Type]='IF') ",
    "AND [Is_MS_Shipped] = 0"
  ],
  "description": "List Stored Procedures"
}

Quando si digita sql nella finestra dell'editor, sqlListStoreProcedures è ora una delle opzioni. I risultati dell'esecuzione di tale comando il database di destinazione sono:

Name                         Type_Desc
uspPrintError                SQL_STORED_PROCEDURE
uspLogError                  SQL_STORED_PROCEDURE
ufnGetAllCategories          SQL_TABLE_VALUED_FUNCTION
ufnGetSalesOrderStatusText   SQL_SCALAR_FUNCTION
ufnGetCustomerInformation    SQL_INLINE_TABLE_VALUED_FUNCTION

È stato in grado di condividere questo output facendo clic sulla griglia di risultati e selezionando l'opzione "Copia con intestazioni".

Come la televisione tardiva notte annunci ad esempio, "ma attendere! Si è verificato più!" La finestra dell'editor dispone di un menu di scelta rapida, nonché (vedere figura 6).

Menu di scelta rapida finestra di editor
Figura 6 dal Menu di scelta rapida finestra di Editor

Gli elementi più interessanti su di esso (in Me modesto) sono Vai a definizione e Visualizza definizione. Se si seleziona un nome di tabella nella finestra di modifica, ad esempio, i clienti nella riga di comando mostrata figura 5, questi comandi mostrerà lo script di creazione per la tabella customer.

L'estensione mssql è in costante evoluzione e vedo agli aggiornamenti futuri. La versione che qui condiviso è ancora una versione di anteprima, 0.3.0. Se si è installato nel codice di Visual Studio, riceve una notifica degli aggiornamenti. È possibile controllare e partecipare evoluzione sul sito GitHub in aka.ms/mssql-marketplace.


Julie Lermanè direttore regionale Microsoft, Microsoft MVP, responsabile del team di software e consulente vive massimi di Vermont. È possibile trovare la presentazione di accesso ai dati e altri argomenti in gruppi di utenti e conferenze tutto il mondo. Blog di utente e su indirizzo thedatafarm.com ed è l'autore di "Programmazione di Entity Framework", nonché un Code First e un'edizione DbContext, tutto da o ' Reilly Media. Seguire proprio su Twitter: @julielerman e vedere proprio corsi Pluralsight PS/juliel.me-video.

Grazie ai seguenti esperti Microsoft per la revisione dell'articolo: Kevin Cunnane, Eric Kang e Sanjay Nagamangalam