Pagina 2 di 6 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 60
  1. #11
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    in che senso scusa.
    io ho un pc dove risiede il db.mdf
    dalle altre macchine interrogo il file.
    è sbagliato?

  2. #12
    Non so se sia sbagliato o meno, quello che ti chiedo è
    sei sicuro che le altre macchine vedano tutte lo stesso file??
    Visto che hai messo nella stringa di connessione c:\
    c'è da capire quel path a quale c:\ fa riferimento.
    Se come penso è il c:\ della macchina sulla quale è stato lanciato l'eseguibile
    ogni pc punterà al proprio hdd.
    Allora anzi che c:\ forse dovresti mettere un path di rete
    del tipo \\pc1\...\db.mdf

    così sei sicuro che il file è il solito per tutti i pc della rete

  3. #13
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    A OK!
    adesso ho afferrato

  4. #14
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    allora riprendo il discorso.
    ieri ho effettuato delle prove reali
    2 pc e un router.
    ho provato a connettere il db dal 1 pc client al 2 pc server, risultato impossibile la connessione, quale protocollo bisogna usare?
    io non ci stò capendo più nulla,
    in SQL Server Configuration Manager configuro tcp/ip e porta
    per la connessione uso la stringa:

    Dim cn As New SqlClient.SqlConnection("Server=192.168.12\SQLExpr ess;AttachDbFilename=C:\db.mdf;Database=db; Trusted_Connection=Yes;")

    dove sbaglio?
    forse bisogna creare un nuovo alias?
    o bisogna configurare SQL Native Client

  5. #15
    ma sul pc1 client il file c:\db.mdf
    esiste?
    se non esiste prova a copiarcelo, in tal caso è evidente che il programma cerca il file
    sul pc client.
    Allora dovrai mettere un percorso di rete.

    Ma quel che mi chiedo è, perchè non crei il db nell'istanza di SqlServer anzi che caricarlo da un file?

  6. #16
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da Max Mercury
    ma sul pc1 client il file c:\db.mdf
    esiste?
    se non esiste prova a copiarcelo, in tal caso è evidente che il programma cerca il file
    sul pc client.
    Allora dovrai mettere un percorso di rete.

    Ma quel che mi chiedo è, perchè non crei il db nell'istanza di SqlServer anzi che caricarlo da un file?
    allora l'errore non stà nel file perchè penso mi ritornerebbe un errore di db o file non trovato.
    che senso ha mettere il file nel client?
    se deve girare in rete i client si collegano al server o no?

    nel client

  7. #17
    appunto, allora perche gli dai un percorso locale ??

  8. #18
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da x69asterix
    Dim cn As New SqlClient.SqlConnection("Server=192.168.12\SQLExpr ess;AttachDbFilename=C:\db.mdf;Database=db; Trusted_Connection=Yes;")

    dove sbaglio?
    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)

  9. #19
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    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)

  10. #20
    ti sei perso l'inzio della stringa di connessione:

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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.