Ho sviluppato un applicazione che carica un file .mdf sul server d'azienda, e poi i permette di aggiungere o eliminare record dal database.
Ho usato la seguente connection string:
string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename='\\NOME-SERVER\c$\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\DB_SP.mdf ';Integrated Security=True;Connect Timeout=30";
E qua arriva la stranezza: sul pc su cui programmo (Visual Studio 2013), il tutto funziona alla perfezione. Riesco a cancellare e aggiungere record tranquillamente (ovviamente rimangono anche salvati eh). Appena però provo a pubblicare l'applicazione, a installarla su un altro pc di azienda e farla partire ricevo questo errore:
An attempt to attach an auto-named database for file ----percorso----. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
Ho già provato a:
- Aprire la porta TCP 1433 e UDP 1434 sul server
- Inserire User Instance = True nella stringa di connessione (che a quanto ho capito non può funzionare perché la dicitura (LocalDB)\v11.0 imposta sempre la User Instance a True)
- Dare i permessi a file e cartelle
- Riavviare SQL Server dal Gestore connessioni SQL Server
Dal messaggio pare che sia già aperta da qualche parte un'istanza e che quindi il db risulti in uso, così come prova del 9 ho provato a copiare i file .mdf e di log del db. Risulato? Riesco a copiarli senza nessun problema, quindi è evidente che i file non sono in uso.
Spero possiate aiutarmi. Grazie