Excel: come connettersi a un sqDerver localDB


8

Ho creato un LocalDB con cui posso lavorare in MS sqlserver Management Studio 2014, Linqpad e Visual Studio 2013.

Ecco la parte della finestra di dialogo "Proprietà connessione" in SSMS che mostra il nome del server: inserisci qui la descrizione dell'immagine

Vorrei essere in grado di connettermi a questo database da Excel. Il problema è che la "Connessione guidata dati" in Excel non riesce a connettersi.

Qui, ho digitato lo stesso nome del server che è stato dato da "proprietà della connessione" in SSMS ....

inserisci qui la descrizione dell'immagine

Ed ecco l'errore che ottengo ... inserisci qui la descrizione dell'immagine

Domande:

  • Excel può connettersi a un localDB? So che può connettersi a database sql-server. C'è qualche limitazione su LocalDB che impedisce questo? Ho pensato che il punto centrale di LocalDB fosse consentire lo sviluppo senza lo sforzo di creare un database autonomo.

  • Esiste un modo alternativo per connettersi? O il nome del mio server richiede alcune fastidiose modifiche?


1
Prova .\mssqllocaldb, o localhost\mssqllocaldb, o <comptuersIPAddress>\mssqllocaldb. Quale nome del server hai usato per le tue connessioni VS e Linqpad (riuscite)?
Ƭᴇcʜιᴇ007,

@ Ƭᴇcʜιᴇ007, grazie, ho copiato / incollato esattamente il nome del server trovato quando ho aperto la finestra di dialogo delle proprietà per il database in SSMS. Non andare su tutti e tre gli esempi. Il nome del server che funziona su linqpad e SSMS è esattamente questo ... (localdb) \ mssqllocaldb
Angelo

Risposte:


6

Che PITA gratuita!

Sono stato in grado di farlo funzionare utilizzando la "Procedura guidata connessione dati" seguendo questi passaggi ...

  1. Seleziona "Altro / Avanzato" dalla procedura guidata Connessione dati, quindi premi "Avanti" . Ho pensato che localDB come creato da sqlserver Express sarebbe andato come "SQL Server". Apparentemente no! anche se non riesco a capire perché.

inserisci qui la descrizione dell'immagine

  1. Selezionare "SQL Server Native Client 11.0" come provider. OK, avevo appena NON selezionato "SQL Server" nella scheda precedente. Inoltre mi capita di eseguire la versione 12 di SQL Server Express e non ci sono "12" nella lista - forse si riferisce strettamente alla versione client, con la sottile conseguenza che il client 11 può connettersi al server 12? Ancora un altro taglio di carta cognitivo.

inserisci qui la descrizione dell'immagine

  1. Immettere lo stesso nome del server che funziona in SSMS o linqpad. Seleziona Sicurezza integrata di Windows. Test Connection ora funziona ed è possibile selezionare il database e scaricare una tabella in Excel.

inserisci qui la descrizione dell'immagine

Non è difficile farlo, ma non sembra esserci alcun flusso logico verso di esso che devi frugare fino a quando qualcosa scatta.


Caro, ti stai connettendo a SQL Server 2014, che viene fornito SQLNCLI12, e nei tuoi screenshot hai selezionato 'Native Client 11', che è SQLNCLI11, e per qualche motivo, non hai il 'Native Client 12' che Excel cerca per il 2014.
confermare il

1

Questa è la stringa di connessione (SQLServer 2012 / Excel 2013):
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName={mdf file full path}

Oh sul mio PC, ho dovuto usare ;Trusted_Connection=Yes, potrebbe non avere alcun senso, dal momento che sia il mio laptop che il PC eseguono le stesse versioni EXACT di SQL Server ed Excel.


modificare

Non riesco a riprodurre l'errore (ho persino installato SQL Server 2014 su una macchina virtuale e funziona ancora). L'unica opzione che potresti aggiungere e che potrebbe aiutarti è Provider=SQLNCLI11;O Provider=SQLNCLI12;puoi scoprire quale versione è installata eseguendo sqllocaldb vnella riga di comando.
Ciò produrrebbe qualcosa del tipo:Microsoft SQL Server 2014 (12.0.2000.8)


grazie, ma dà ancora un errore. Ho dovuto rimuovere la parte "server =" per evitare di ottenere "parseConnectParams ()" nella finestra di dialogo dell'errore. Quando l'ho fatto, ha dato lo stesso errore di prima.
Angelo,

@Angelo Ho aggiornato la mia risposta, per favore fallo fino al risultato una volta provato.
confermare il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.