Pacchetto di Installazione Database SQL

mercoledì 26 novembre 2008 - 21.35

luxsor Profilo | Guru


sapete come posso creare un pacchetto di installazione con visual basic 2005 o 2008 che mi ingloba anche l'installazione del database sql server della mia applicazione con i rispettivi permessi?

Cioè ho creato un'applicazione con Visual Basic 2005, che sfrutta un database sql server 2005 express edition. Ho creato il pacchetto di installazione per la mia applicazione, ma il problema è che il database con i rispettivi permessi, li installo io manualmente.
Se fosse possibile inserire nel pacchetto di installazione il database con i permessi.

R3GM4ST3R Profilo | Junior Member

Ciao, allora vediamo un po'
Per aggiungere all'installazione del tuo software anke l'sql server devi andare tra i prerequisiti dell'applicazione installazione e spuntare la casellina dell'sqlserver express

Praticamente dal "progetto di installazione" del tuo applicativo, vai sul menù
"Progetto"->"proprietà..."
nella finestra che ti appare clicca sul bottone prerequisiti
cerca nella lista "SQLSERVER 2005 Express edition" e selezionalo, dopodichè per comodità ti consiglio di cambiare la optionbox sottostante alla lista, selezionando
"scarica prerequisiti dallo stesso percorso dell'applicazione"
Spuntando questa casella sarà compito del compilatore preparare oltre che al setup.exe al file .msi e tutte le cartelle con i pacchetti dei prerequisiti selezionati
(in modo da non doverli scaricare tutte le volte da internet...)

Per quanto riguarda invece la creazione automatica del database, io personalmente vedo 2 modi

primo metodo (metodo che preferisco)
Crei lo script che fa la create database con tutte le tabelle/indici/permessi/etc etc, dopodichè nella routine di inizializzazione della tua applicazione in qualche modo verifichi che è il primo avvio del programma e quindi dovrai eseguire lo script della create database.

secondo metodo
Aggiungi il file .mdf del database fatto e finito al progetto di installazione della tua applicazione, in modo che si trascini dietro il database già pronto per essere "attaccato" all'istanza di SQL che andrai ad installare, dopodichè nella routine di inizializzazione della tua applicazione in qualche modo verifichi che è il primo avvio del programma e quindi dovrai eseguire l'attach del database .mdf che ti sei portato dietro.

Esempio di attach

Dim o_SQLSERVER as New SQLDMO.SQLServer o_SQLSERVER.loginsecure = true o_SQLSERVER.Connect "(local)" '//Forse funziona anche se metti "" o_SQLSERVER.AttachDBWithSingleFile("NOMEDATABASE","PATHFILE.MDF") '//Così facendo hai attaccato il tuo database all'istanza locale

L'esempio del primo caso è un po' più lungo xò se ti interessa te lo posso postare...

Spero di essere stato comprensibile

(p.s. Preferisco il primo metodo perchè così sono sicuro che il database è pulito, con gli indici rigenerati da zero etc etc, è un pochino più lungo e complesso...)
(p.p.s. Un possibile modo per verificare il primo avvio di una applicazione è controllare se esistono dei valori in un punto particolare del registro di sistema)
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