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)