Connessione con VB2005 a Db SQL residente NAS di rete

lunedì 15 ottobre 2007 - 16.36

dmpierpy Profilo | Newbie

Buon pomeriggio a tutti.
Ecco il mio problema:
sto lavorando alla conversione di un db access del mio programma (scritto in vb6) in sql e fin qui tutto ok;
una situazione particolare è che il db access al momento viene letto e gestito tranquillamente su un NAS di rete;
ho convertito il db in mdf (sql2005) ed ho scritto in vb2005 un programmino semplicissimo per la lettura di una sua tabella utilizzando la procedura "aggiungi nuova origine dati..." e specificando la connessione come "File di database Microsoft SQL Server", ma nel momento in cui scelgo l'mdf presente sul NAS mi restituisce il seguente errore:

"Il file Y:\Database\Db.mdf è in un percorso di rete non supportato per i file di database.
Impossibile allegare un database a denominazione automatica per il file Y:\Database\Db.mdf. Esiste un database con lo stesso nome oppure il file specificato non può essere aperto oppure si trova in una condivisione UNC."


540x248 27Kb


Cosa devo fare se esiste una soluzione? Ho l'impressione che SQL2005 non possa gestire un db NON presente sul pc dove installato il motore di database, spero di sbagliarmi !!!


Grazie 1000

Fantazma Profilo | Junior Member

Ciao
sql gestisce anche la posizione remota del file mdf ma non di default. Aggiungo che posizionare un file db sql in remoto è sconsigliato e non supportato come riportato in questa pagina:

http://support.microsoft.com/kb/304261/en-us

Se proprio volessi percorre questa strada devi "abilitare" il trace flag 1807 usando il comando: DBCC TRACEON
Trovi informazioni a questo indirizzo: http://www.databasejournal.com/features/mssql/article.php/1442191

Comunque sia non vedo la necessità nel caso da te esposto di un'operazione del genere. La cosa più semplice è creare o "attacare" il db che hai generato al server di sqlexpress e poi interrogare quello da ogni pc della rete.

Ciao

dmpierpy Profilo | Newbie

Consulterò sicuramente i dati da te forniti e ti ringrazio
La necessità è quella di poter portare il db a spasso con il NAS ed ovunque vada collegarlo ad una rete di pc e lavorare con il mio portatile per esempio.
In Access il problema non sussiste perchè puoi avere il db anche su di una chiavetta usb collegata ad un pc che non è il server sql per esempio ma un pc qualsiasi della rete o addirittura un sistema di switch usb.

ti ringrazio

Fantazma Profilo | Junior Member

Se il problema è quello della portabilità puoi prevedere una funzione automatica di attach e detach del DB sul server. Lo scenario tipo è questo:

- Vai da un cliente
- Fai l'attach del DB e lavori
- Fai il detach e te ne vai

I file del DB per il trasporto possono stare tranquillamente sul NAS. Con una opportuna funzione di attach gli fai copiare i file in locale e li colleghi al motere del DB, con il detach l'inverso, cioè li fai scollegare dal motore e li fai copiare sul NAS.

Ciao

dmpierpy Profilo | Newbie


Il problema è proprio il copiare l'archivio in locale.

La necessità è che il db non venga mai copiato dal NAS per una questione di sicurezza del cliente. E' il cliente che si porta il db sul quale lavorare su postazioni sparse un pò ovunque.
Immagina un medico che ha 3 studi aperti in giorni differenti e per utilizzare il programma è molto più semplice portarsi il db su nas di rete per farlo condividere ai suoi collaboratori. La necessità è il NAS di rete, non ci sono alternative...mi tocca cambiare db !!!!! Magari tornare ad ACCESS

Ciao

Fantazma Profilo | Junior Member

...beh se non vuoi o non si può praticare la strada che ti ho indicato allora devi abbandonare l'idea SQLExpress... pensato invece a SQLite???
E' un DB "monofile" che può risiedere in un percorso di rete, ma attenzione, difficilmente digerisce le operazioni multiutente.

Dacci uno sguardo e vedrai che fa al caso tuo.

Ciao

dmpierpy Profilo | Newbie


Ti ringrazio, ci darò un'occhiata !

Buona giornata
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5