Ho un'applicazione console C# scritta utilizzando Visual Studio 2012. Nell'applicazione sto utilizzando una connessione localdb Sql Server a un database per memorizzare informazioni. Funziona bene su diversi computer, ognuno dei quali ha installato Visual Studio.Non riesco a ottenere una connessione localdb Sql Server per funzionare su un computer su cui non è installato SqlServer Express
Vorrei installare un programma che deve solo installare Sql Server Express LocalDB e non il più grande Sql Server Express. Tuttavia, la mia applicazione non è in esecuzione sui computer di destinazione. Ho installato Sql Server Express LocalDB 2014 su un computer di destinazione. Posso, usando una riga di comando, eseguire comandi usando sqllocaldb per verificare che sia installato e in esecuzione.
C:\Users\someuser\Desktop\Debug>sqllocaldb v
Microsoft SQL Server 2014 (12.0.2000.8)`
Quando si esegue la mia applicazione su quello stesso computer di destinazione, tuttavia, ottengo il seguente errore.
C:\Users\someuser\Desktop\Debug>Testing_Console
11:21:07,912 [1] INFO TestingConsole.Program - Current Directory is C:\Users\someuser\Desktop\Debug
Extra Info: (null)
Unhandled Exception: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. Cannot create an automatic instance. See the Windows Application event log for error details.
Quanto segue è l'inizio del mio file app.config, dove sto definendo la stringa di connessione. Ho provato a inserire il percorso del file diretto nel file LM, ma ciò non risolve il problema. Ciò era prevedibile, tuttavia, poiché il programma funziona da qualsiasi directory sui computer con Visual Studio installato.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<connectionStrings>
<add name="KomoLM_Console.Properties.Settings.LMConnectionString"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\LM.mdf;Integrated Security=True;MultipleActiveResultSets=True"
/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
Non so se il problema riguarda solo l'installazione di SQL Server Express LocalDB 2014. Qualcuno può dirmi quale potrebbe essere il mio problema?
possibile duplicato di [SQL Netw Interfacce ork, errore: 50 - Si è verificato un errore di runtime del database locale. Impossibile creare un'istanza automatica] (http: // stackoverflow.it/questions/26248293/sql-network-interfaces-error-50-local-database-runtime-error-happened-canno) – melancia
Il problema era correlato all'installazione di Sql Server Express LocalDB 2014. Con quella versione MS ha cambiato i requisiti delle stringhe di connessione. Invece di "Data Source = (LocalDB) \ V11.0", la stringa di connessione è "Data Source = (LocalDB) \ MSSQLLocalDB". Dopo aver cambiato la mia stringa di connessione, il programma funziona correttamente su un computer su cui è installato LocalDB 2014. Ecco un link a un articolo a riguardo: [link] (https://connect.microsoft.com/SQLServer/feedback/details/845278/sql-server-2014-express-localdb-does-not-create-automatic- instance-v12-0) – MDig
LocalDB è pensato SOLO per lo sviluppo in Visual Studio. È normale che non funzioni su computer senza VS. Per la produzione utilizzare solo SQL Server Express Edition. – Endrju