Originariamente inviato da gibra
Primo: pur essendo possibile, non capisco questo:
perchè usi un indirizzo IP quando sarebbe più semplice usare il nome del server, dato che sei in una LAN?
Ovvero:
codice:
Dim sServerPath As String =  "\\nome_tuo_server\"
Secondo:
Tu usi C:\db.mdf .
Perchè vuoi fare l'attach di un database che è locale al Client?
Il file db.mdf DEVE risiedere sul Server, e preferibilmente (ma non obbligatorio) dove gira il servizio di SQLExpress, e comunque sempre in un disco del Server.

Infine:
Prova a comporre la stringa di connessione come indicato sopra:
se il tuo server si chiama "Server01" farai
codice:
Dim sServerPath As String =  "\\Server01\"
Il file MDF dovrà risidere in una cartella condivisa, ad esempio se il file è sul percorso:
\\Server01\MyData\MyApp\DatabaseSQL\db.mdb
puoi condividere la cartella "DatabaseSQL" attribuendogli il nome "DATIDB"
in questo modo il tuo database sarà raggiungibile usando questo percorso:
\\Server01\DATIDB\db.mdb


Poi potrai aprire la connessione così:
codice:
Dim conn As String = sServerPath + "SQLExpress;AttachDbFilename=" + sServerPath + "DATIDB\db.mdf;Database=db; Trusted_Connection=Yes;"
Dim cn As New SqlClient.SqlConnection(conn)
ciao gibra,
grazie per l'attenzione,
allora a me ritorna:
Parola chiave '\\mioserver\sqlexpress;attachdbfilename' non supportata.

il codice:
Dim sServerPath As String = "\\mioserver\"
Dim conn As String = sServerPath + "SQLExpress;AttachDbFilename=" + sServerPath + "DATABASE\db.mdf;Database=db; Trusted_Connection=Yes;"
Dim cn As New SqlClient.SqlConnection(conn)