Używanie bazy danych mdf na wielu komputerach

0

Witam.
Mam aplikację z działającą bazą danych w pliku mdf. Potrzebuję jednak używać jej na wielu komputerach i teraz pytanie: jaki connection string mam do tego używać aby na każdym komputerze baza danych była widoczna? Pytam, ponieważ wyskakuje błąd mówiący o tym, że nie znaleziono bazy danych.

Piszę w C# .NET.

0

A gdzie masz ta bazę wrzuconą i jaki masz connection string?

0

W folderze Debug, który jest automatycznie tworzony jako podkatalog projektu.
W tej chwili próbuję takiej opcji:
string connString = "Data Source=(localdb)\MSSqlLocalDB;Initial Catalog=MyDatabase;Integrated Security=True";

Ale kiedy tworzę bezpośredni plik mdf to próbowałem wtedy takiego
string connString = "Data Source=(localdb)\MSSqlLocalDB;AttachDbFileName=|DataDirectory|\MyDatabase;Integrated Security=True";

W obu przypadkach aplikacja działa u mnie lokalnie, jednak po wrzuceniu na innego kompa, niestety wyskakuje błąd o nieznalezieniu bazy.

Zamieszczam dokładny komunikat o błędzie
System.Data.SqlClient.SqlException (0x80131904): Wystąpił błąd związany z siecią lub wystąpieniem podczas ustanawiania połączenia z serwerem programu SQL Server. Nie można odnaleźć serwera lub jest on niedostępny. Sprawdź, czy nazwa wystąpienia jest poprawna i czy konfiguracja serwera programu SQL Server zezwala na połączenia zdalne. (provider: SQL Network Interfaces, error: 50 - Wystąpił błąd programu Local Database Runtime. The specified LocalDB instance does not exist.
)
w System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
w System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
w System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
w System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
w System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
w System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
w System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) w System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
w System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions) w System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions)
w System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource1 retry) w System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry)
w System.Data.SqlClient.SqlConnection.Open()
w MyApp.DataBase.GetSettings() w C:\Users\Vellietto\Desktop\MyApp\MyApp\DataBase.cs:wiersz 240
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1983577849,State:0,Class:20

0

OK już mam. Chodzi o to, że visual studio tworzy wersję bazy danych 2016 a na innych komputerach mam 2014. Jak w takim razie utworzyć wersję bazy danych w konkretnej wersji? Kiedyś to się robiło (localdb)\v11.0 i tworzyło to wersję 2012 ale teraz jest mssqllocaldb i już nie można konkretyzować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1