Connessione Database

di Gaetano Zummo il
20 risposte
Salve, ho fatto il setup di un programma con un DB locale. quando lo installo nel mio pc il programma si avvia correttamente, mentre se provo a metterlo dentro un altro pc mi dice che il database non esiste o non comunica.
ecco il percorso che do al database:

internal static class ModGenerale
    {
        public static SqlConnection Conn;
        public static string PercorsoDB = "C:\\ProgramData\\Gestione_Affitti\\Application Files\\Gestione Affitti_1_0_0_0";
        public static void SetConnection()
        {
            string stringasql = "Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename = " + PercorsoDB + "\\Archivio_Casa.mdf; Integrated Security = True; Connect Timeout = 30";          
           Conn = new SqlConnection(stringasql);
        }
    }
La setconnection la richiamo all'avvio del programma.

20 Risposte

  • Ma in altro pc usi lo stesso percorso?
  • Si, è un percorso che hanno tutti i computer. Inserisco la cartella con dentro il database e se lo deve leggere in teoria, ma mi dice che il database non esiste o non riesce a comunicare
  • Il file .mdf l'hai copiato negli altri pc?

    Hai installato sql server express negli altri pc?
  • oregon ha scritto:


    Il file .mdf l'hai copiato negli altri pc?

    Hai installato sql server express negli altri pc?
    Si, gli faccio installare tutto con il setup. Poi prendo la cartella con il database(nel mio caso si chiama gestione affitti la cartella) e la copio nello stesso percorso dell'altro PC. Da me funziona ma negli altri no
  • Ho capito che hai fatto il setup del tuo programma ma non è detto che tu abbia installato anche sql server.
    Ne sei sicuro? Controlla che sql server sia installato nel pc destinazione.
  • oregon ha scritto:


    Ho capito che hai fatto il setup del tuo programma ma non è detto che tu abbia installato anche sql server.
    Ne sei sicuro? Controlla che sql server sia installato nel pc destinazione.
    Gli faccio installare i prerequisiti, che sono:
    SQL Server 2012 Express LocalDB
    Il NET.Framework Richiesto per il programma
    e il system CLR Types.
    Non so quale può essere il problema
  • Qual è il messaggio precisamente?
  • oregon ha scritto:


    Qual è il messaggio precisamente?
    System.Data.SqlClient.SqlException (0x80131904): Si è verificato un errore di rete o specifico dell'istanza mentre si cercava di stabilire una connessione con SQL Server. Il server non è stato trovato o non è accessibile. Verificare che il nome dell'istanza sia corretto e che SQL Server sia configurato in modo da consentire connessioni remote. (provider: SQL Network Interfaces, error: 50 - Errore di Local Database Runtime. Istanza del database locale specificata inesistente.
  • Esegui il tool

    SqlLocalDB create "MSSQLLocalDB"

    da finestra Dos per creare l'istanza
  • oregon ha scritto:


    Esegui il tool

    SqlLocalDB create "MSSQLLocalDB"

    da finestra Dos per creare l'istanza
    Fatto, ma ora mi dice che la versione del databse è 852, ma lui supporta la 706
  • Cosa riporta

    SqlLocalDB info MSSQLLocalDB
  • oregon ha scritto:


    Cosa riporta

    SqlLocalDB info MSSQLLocalDB
    Instanza del database locale "MSSQLLocalDB inesistente. Ma alla creazione mi ha detto istanza del database locale MSSQLLocalDB creata con la versione 11
  • oregon ha scritto:


    Utilizza il tool per creare l'istanza con la versione corretta (la 12.0) e avviarla. Vedi

    https://docs.microsoft.com/it-it/sql/tools/sqllocaldb-utility?view=sql-server-2017#arguments
    Stavo pensando invece, non è che nel file database.log ci sono le credenziali del mio pc e quindi non riesce a connettersi per questo? Vedendo che è un altro PC non gli permette di fare il login? Perché ho visto che se metto il log file del database precedente nel mio PC (dove funziona correttamente) lui non si connette più.
Devi accedere o registrarti per scrivere nel forum
20 risposte