none
Errore connessione ODBC a SQL Server RRS feed

  • Domanda

  • Salve a tutti, vi scrivo perchè non so più dove sbattere la testa.

    Rete workgroup con tutte macchine Win 10 

    Su quella che chiamiamo impropriamente Server ho installato SQL Server Express 2012

    Se creo una fonte dati ODBC 64 sul server questa si connette perfettamente, ma se lo faccio su un pc collegato in rete mi dice che il server non esiste.

    Effettuando un port scan sul server scopro che la porta 1433 è chiusa o meglio nessuna applicazione risponde su quella porta.
    Questo credo sia il motivo per cui ODBC funziona in locale e non sui pc in rete.

    In configurazione di SQL il protocollo TCP/IP è impostato per lavorare sulla 1433 e il NamedPipe è abilitato.

    Nel Firewall ho creato due nuove regole in entrata per TCP e UDP ma nulla da fare.
    Anche disabiiitando il firewall non cambia nulla.

    Ho anche disinstallato SQL Express e reinstallato premurandomi di controllare prima che i Framework .NET 3.5 e 4 fossero installati.

    Non c'è verso....
    Qualcuno per cortesia mi dia qualche dritta perchè no so più che fare.

    Grazie anticipatamente

    domenica 17 maggio 2020 11:05

Risposte

  • Grazie a tutti per l'interessamento.

    Il server è pingabile, i protocolli TCP/IP configurati correttamente, tutto a posto, ma non funzionava.

    Per fortuna ho risolto anche grazie all'aiuto di Sabrina Cosolo.

    Abbiamo scoperto dopo varie prove e tentativi che con quella configurazione (Win 10 rete workgroup, SQL Express 2012 e ODBC 17) ci sono problemi con le istanze nominate. Effettuando una installazione SQL con istanza di default funziona anche se solo con autenticazione windows perchè ODBC non funziona con autenticazione SQL, per cui è necessario mappare tutti gli utenti sul database.

    Grazie ancora a tutti

    mercoledì 20 maggio 2020 13:04
  • Ciao,

    personalmente non ho mai riscontrato problemi con istanze denominate di Sql Server Express e nemmeno con l'autentica standard via ODBC, ma del resto è difficile credere che non siano supportate in quanto funzioni basilari usate diffusamente.

    Per l'ODBC potete consultare questo link: 

    Connection Strings

    Oltre alle verifiche che avete fatto sul livello di trasporto di rete, va verificato che sia attivo il sevizio Sql Server Browser che è specificatamente deputato alla gestione delle connessioni sulle istanze denominate.

    Nel caso sarebbe utile conoscere le versioni del driver ODBC, la connection string che utilizzate, l'errore che viene riportato all'apertura della connection.

    G.

    martedì 26 maggio 2020 06:39
  • Ciao Mirco,

    grazie per il feedback, aggiungo una considerazione circa la connessione ODBC ad una istanza SQL Server "named" (server_name\instance_name), oltre alla porta 1433 è necessario aggiungere nella regola sul firewall la porta 1434.

    Le named istanze di SQL Server possono utilizzare il processo di allocazione dinamico della porta. In questa situazione, la stringa di connessione creata sul client non specifica la porta TCP/IP di destinazione a meno che l'utente o il programmatore non la specifichino esplicitamente, viene quindi eseguita una query sul server SQL sulla porta UDP 1434 per raccogliere le informazioni sull'istanza di destinazione.

    Lavorando con le named instance consiglio di aprire anche la porta 1434.

    Ciao!


    Sergio Govoni

    Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn

    domenica 7 giugno 2020 09:37
    Moderatore

Tutte le risposte

  • Sposto il suo tema nel forum SQL. Non ha in comune con C#.

    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    domenica 17 maggio 2020 13:18
    Moderatore
  • Ciao,

    in sql configuration manager il servizio Sql Server Browser è attivo? Nella sezione "Sql Server Network Configuration" sarà presente un solo server: sono attivi entrambi i protocolli TCP e Named Pipe?

    Dal client riesci a pingare il server? sia per IP che per hostname?

    Hai provato a collegarti sia tramite host name che ip address?

    Se fai un telnet dal client con "telnet [servername/ip] 1433" il server risponde (schermata vuota)?

    Che software usi per la connessione sul client? 

    G.

    domenica 17 maggio 2020 14:30
  • hai provato anche a creare sul client un'origine dati odbc a 32bit ?

    Edoardo Benussi
    Microsoft MVP - Cloud and Datacenter Management
    e[dot]benussi[at]outlook[dot]it


    lunedì 18 maggio 2020 10:13
    Moderatore
  • Grazie a tutti per l'interessamento.

    Il server è pingabile, i protocolli TCP/IP configurati correttamente, tutto a posto, ma non funzionava.

    Per fortuna ho risolto anche grazie all'aiuto di Sabrina Cosolo.

    Abbiamo scoperto dopo varie prove e tentativi che con quella configurazione (Win 10 rete workgroup, SQL Express 2012 e ODBC 17) ci sono problemi con le istanze nominate. Effettuando una installazione SQL con istanza di default funziona anche se solo con autenticazione windows perchè ODBC non funziona con autenticazione SQL, per cui è necessario mappare tutti gli utenti sul database.

    Grazie ancora a tutti

    mercoledì 20 maggio 2020 13:04
  • Ciao,

    personalmente non ho mai riscontrato problemi con istanze denominate di Sql Server Express e nemmeno con l'autentica standard via ODBC, ma del resto è difficile credere che non siano supportate in quanto funzioni basilari usate diffusamente.

    Per l'ODBC potete consultare questo link: 

    Connection Strings

    Oltre alle verifiche che avete fatto sul livello di trasporto di rete, va verificato che sia attivo il sevizio Sql Server Browser che è specificatamente deputato alla gestione delle connessioni sulle istanze denominate.

    Nel caso sarebbe utile conoscere le versioni del driver ODBC, la connection string che utilizzate, l'errore che viene riportato all'apertura della connection.

    G.

    martedì 26 maggio 2020 06:39
  • Ciao Mirco,

    grazie per il feedback, aggiungo una considerazione circa la connessione ODBC ad una istanza SQL Server "named" (server_name\instance_name), oltre alla porta 1433 è necessario aggiungere nella regola sul firewall la porta 1434.

    Le named istanze di SQL Server possono utilizzare il processo di allocazione dinamico della porta. In questa situazione, la stringa di connessione creata sul client non specifica la porta TCP/IP di destinazione a meno che l'utente o il programmatore non la specifichino esplicitamente, viene quindi eseguita una query sul server SQL sulla porta UDP 1434 per raccogliere le informazioni sull'istanza di destinazione.

    Lavorando con le named instance consiglio di aprire anche la porta 1434.

    Ciao!


    Sergio Govoni

    Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn

    domenica 7 giugno 2020 09:37
    Moderatore