girub ha scritto:
strConn ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASA\SQLEXPRESS;Initial Catalog=DBabstract;User ID=sa;Password=pippo;"
In questa stringa di connessione indichi di voler utilizzare una connessione truster (ovvero girare a SQL Server le credenziali con cui hai fatto logon sulla tua macchina) ma poi specifichi anche utente e password di un account di SQL Server. Delle 2 una è superflua e non saprei dirti, però, in questo caso qual'è delle 2 che SQL Server ignora.
e ripeto tutto va bene..
ora però è arivato il momento di passare questo databse sul server e sfogliando le directory del server ho visto che c'è in una cartella dei file mdf. e .ldf
(e il resto di un'aplicazione che cera prima...)
quindi capito l'arcano vado a documentarmi un po è credo di aver capito che anch'io devo uplodare questi due file del mio db..
fin qua dico bene?
Dici bene fintanto che parli del fatto che un database di SQL Server è basato su ALMENO 2 file (ovvero almeno un file dati e almeno un file di log). Attenzione che per poter "uploadare" (termine molto improprio) questi 2 file devi preventivamente scollegarli dall'istanza a cui sono collegati utilizzando l'istruzione sp_detachdb; solo in questo momento potrai copiarli in un'altra cartella su un altro server (o in alternativa puoi farlo dopo aver fermato il servizio SQL Server) e da li impartire il comando sp_attachdb per collegare i file dati ad una nuova istanza di SQL Server.
ora vi chiedevo gentilmente.. quella cartella che vado a creare deve avere dei permessi o privilegi... speciali... e poi che stringa a questo punto devo utilizzare... visto che non punto più al server ma al file mdf?
Ecco, qui inizi a sbagliare...
Al di la del fatto che in SQL Server Express (e ribadisco SOLO nella versione Express) è stata introdotta la possibilità di utilizzare le User Instance referenziando direttamente l'mdf e non il database come entità logica, questa è, a mio avviso, la più grande cazzata che sia mai stata presente in SQL Server. Utilizzare questa funzionalità significa utilizzare SQL Server in modalità mono-utente e limiti la tua applicazione a non poter utilizzare versioni diverse di SQL Server perchè, ripeto, questa "feature" è presente solo nella versione Express.
Sempre preferibile, quindi, utilizzare i file dati + log copiati con i passaggi di cui sopra e collegati ad un'altra istanza di SQL Server e continuare a lavorare con un VERO SQL Server (anche la versione Express la considero un vero SQL Server) e non con un accrocco che, in quanto monoutente, è addirittura peggiorativo di Access (che ho sempre considerato un ottimo prodotto).
grazie una buona notte o buon giorno :)
giuseppe
Buongiorno... ;-)
Bye