2013-10-24 11 views
9

Sto utilizzando il driver jTDS in un'applicazione Java. L'amministratore del database mi ha detto che il nome di istanza di SQL Server èjTDS stringa di connessione: connettersi a un'istanza di MS SQL Server con una barra retroversa

MSSQL-DB09v1\v1

Come devo scrivere l'URL di connessione?

Sono stato con qualcosa di simile

jdbc:jtds:sqlserver://server-name/database_name 

per un certo tempo e funziona bene, ma non so la stringa di connessione a destra quando il nome di istanza contiene una barra rovesciata.

risposta

22

Ha effettuato ulteriori ricerche e prove. Scoperto la stringa di connessione URL corretto in questo caso è:

jdbc:jtds:sqlserver://server-name/database_name;instance=instance_name 

Nel mio caso, la stringa di connessione è:

jdbc:jtds:sqlserver://server-name/MSSQL-DB09v1;instance=v1 

Vedere jTDSFAQs per maggiori dettagli

+1

l'ho fatto, grazie. nel mio caso il nome host era come questo MSSQL-DB09v1 \ v1, backslash. Scappare in Java non ha funzionato. – thirdy

3

ho avuto un caso simile dove il mio DBA mi ha dato un database su un server con la seguente connessione: {SERVER_NAME}\{INSTANCE}. Questa sintassi ha funzionato durante la connessione al server e all'istanza tramite SSMS, ma non ha funzionato durante la connessione tramite il driver Java.

invece, la seguente sintassi ha lavorato per me:

jdbc:jtds:sqlserver://{SERVER_NAME};databaseName={DATABASE_NAME);instance={INSTANCE}

Si noti che ho dovuto spostare l'istanza di un parametro di stringa di connessione. Una volta fatto ciò, tutto ha funzionato bene.

Per riferimento, vedere this specific JTDS FAQ.

Problemi correlati