Pubblicazione del sito web finito

lunedì 28 settembre 2009 - 10.15

Anonimo Profilo | Senior Member

Ciao a tutti!

Avendo finito il primo sito web creato in asp.net vorrei sapere la procedura per la pubblicazione in un sito remoto.
Ho letto questo articolo di msdn:

http://msdn.microsoft.com/it-it/library/20yh9f1b(VS.80).aspx

Però non spiega il fatto del database. Siccome ho un database strettamente collegato al sito come faccio a tenerli tale? Nel senso, una volta che avrò pubblicato il sito il database sarà ancora collegato ad esso senza averlo toccato?

Gluck74 Profilo | Guru

se il database lo hai come file MDF nella cartella APP_DATA, non ci sono problemi: verrà copiato insieme all'intero sito nella cartella omonima, che avrà per default i permessi necessari per contenere il database.

Se il database sta dentro un'istanza SQL Server, allora devi creare uno script SQL di creazione database ed uno di popolamento (se necessario) che gli amministratori del provider dovranno lanciare.
Ad esempio aruba ha un pannello di controllo apposito per questi script.

Anonimo Profilo | Senior Member

>se il database lo hai come file MDF nella cartella APP_DATA,
>non ci sono problemi: verrà copiato insieme all'intero sito nella
>cartella omonima, che avrà per default i permessi necessari per
>contenere il database.
>
>Se il database sta dentro un'istanza SQL Server, allora devi
>creare uno script SQL di creazione database ed uno di popolamento
>(se necessario) che gli amministratori del provider dovranno
>lanciare.
>Ad esempio aruba ha un pannello di controllo apposito per questi
>script.
>
>

Ecco.. ho il secondo tipo di db detto da te.
Per il popolamento mi bastano i create table di ogni tabella? Perché 5 su 7 tabelle hanno già dei dati fissi.

Gluck74 Profilo | Guru

devi fare uno script COMPLETO, a partire dal "create database", fino ai vincoli, chiavi, relazioni..... TUTTO.

Dopo di che, se qualche tabella deve contenere dei dati, allora devi fare tutte le insert del caso

Anonimo Profilo | Senior Member

>devi fare uno script COMPLETO, a partire dal "create database",
>fino ai vincoli, chiavi, relazioni..... TUTTO.
>
>Dopo di che, se qualche tabella deve contenere dei dati, allora
>devi fare tutte le insert del caso

Allora ci dovrei stare dei giorni! Ho pure una tabella con 1388 righe...

Gluck74 Profilo | Guru

tu hai un database con tutte quelle righe di default??????? che diavolo di tabella è????????

allora devi utilizzare qualche procedura più sofisticata per il popolamento, ad esempio da una pagina di amministrazione del sito, che legge tutti i dati che ti sei esportato in un txt.

Purtroppo da SQL server, io non sono mai riuscito a fare un Dump dei dati nelle tabelle....
però ho un bel scriptino che fa al caso tuo, un attimo che lo cerco

Anonimo Profilo | Senior Member

>tu hai un database con tutte quelle righe di default??????? che
>diavolo di tabella è????????

Ehm sì.. Più che altro è una tabella con tutte quelle righe.
Sono troppe sì, anche se quella tabella ha solo due campi.

Gluck74 Profilo | Guru

ecco lo scriptino che fa il dump e ti crea un file con un insert per ogni riga nella tabella, fai molta attenzione però, e fai alcune prove prima;
io ti faccio un esempio per una tabella con due colonne:

SELECT 'INSERT INTO <nome_Tabella> (<nome_Campo>, <nome_campo>) VALUES (' + --questa riga è quella da ripetere per ogni campo da inserire, tranne l'ultimo ISNULL('''' + REPLACE(CAST(<nome_campo> as varchar), '''', '''''') + '''', 'NULL') + ', ' + --questa è la riga per l'ultimo campo ISNULL('''' + REPLACE(CAST(<nome_campo> as varchar), '''', '''''') + '''', 'NULL') + ')' FROM <nome_tabella>

Anonimo Profilo | Senior Member

>ecco lo scriptino che fa il dump e ti crea un file con un insert
>per ogni riga nella tabella, fai molta attenzione però, e fai
>alcune prove prima;
>io ti faccio un esempio per una tabella con due colonne:


Mi potresti gentilmente spiegare quelle due righe? ISNULL('''' + REPLACE(CAST(<nome_campo> as varchar), '''', '''''') + '''', 'NULL') + ', ' + ISNULL('''' + REPLACE(CAST(<nome_campo> as varchar), '''', '''''') + '''', 'NULL') + ')' Non ho capito cosa significano i vari apici.

No niente.. capito.
Funziona. Grazie mille!

Gluck74 Profilo | Guru

ad esempio il mio risultato deve essere:

INSERT INTO MyTable (nome, anni) Values ('Glauco', 36)

la prima parte la scrivo pari pari, la seconda parte la devo creare:

primo controllo: il campo è null, nella insert devi riscrivere null
ISNULL(<un_valore>, 'NULL'). esempio:
INSERT INTO MyTable (nome, anni) Values ('Glauco', NULL)

secondo controllo: il campo ha un valore e lo devo riscrivere identico, però come strigna
ISNULL( cast( <un_valore> as varchar) , 'NULL').

terzo controllo: essendo una tringa devo prevedere gli apici nel testo
ISNULL( replace( cast(<un_valore> as varchar) , '''', '''''') , 'NULL')

quarto controllo, i campi nella query devono essere inseriti come stringhe o come numerici:
in affetti c'è un errore nello script che ti ho mandato. In pratica quello che aggiungo ora, lo devi mettere solo per i campi varchar (e simili), non per i numerici:
ISNULL( '''' + replace( cast(<un_valore> as varchar) , '''', '''''') + '''' , 'NULL')

Anonimo Profilo | Senior Member

Se fosse numerico sarebbe un qualcosa di questo tipo?

ISNULL( + REPLACE(CAST(<nome_campo> as int), , ) + , 'NULL')

Gluck74 Profilo | Guru

no, sarebbe diversa,

comunque ho detto una cazzata, anche se sono numerici, non cambia nulla, perché l'insert funziona anche se passi i dati numerici con gli apici, ad esempio
INSERT INTO MyTable ('Nome', 'Anni') VALUES ('Glauco', '35')

e va bene così perché altrimenti dovresti fare un controllo di che tipo è il campo. Invece così non devi fare controlli e risolvi il problema con il Cast automatico

il problema nasce dal fatto che devi comporre una strigna, e questa stringa deve essere un INSERT come se lo scrivessi a mano.
per me è difficile spiegarti il problema, non riesco a trovare le parole per farti capire dov'è linghippo, ma fidati, questa query l'ho usata parecchio.
Prendila cos'ì e vai sul sicuro

Gluck74 Profilo | Guru

per caso hai delle colonne con delle date? oppure dei decimali?
casomai devi stare attento a quelle

Anonimo Profilo | Senior Member

Le date le avrei, ma come tipo "char(10)".
E' sbagliato teoricamente, lo so, ma non mi piace l'idea che inserisca anche l'ora.
Per quanto riguarda i decimali, no.

Un'altra domanda: adesso che ho questi script, li metto nella cartella del sito? E il tutto (sito, script) li dovrei mettere nel computer server vero?
Scusami queste domande che magari ti sembreranno stupide ma è il primo sito che ho fatto sai...

Gluck74 Profilo | Guru

no, gli script di creazione e popolamento del DataBase, non li devi pubblicare insieme al sito.
Dipende dal provider che usi. Loro ti daranno istruzioni per creare il database SQL Server, e ti diranno quindi come e dove mandargli gli script

Anonimo Profilo | Senior Member

Webhosting.

Un sito in asp.net può girare lì vero? Anche un db in sql server?

Gluck74 Profilo | Guru

si,
accettano ASP.NET 2.0 e 3.5
accettano database SQL Server 2000

martinez Profilo | Senior Member

Ma scusate l'ignoaranza ....

da explora server click destro sul file MDF (database) e scegliere l'opzione pubblica sul provider è tanto difficile ???? o non ho capito nulla io?

Ciao

Antonio

Anonimo Profilo | Senior Member

Sinceramente non vedo "pubblica sul provider".

Gluck74 Profilo | Guru

neanche io vedo questo comando... quindi si, difficilissimo!!!!!!

se tu hai questo comando ci dici come e dove trovarlo? ci fai vedere un printScreen?

Anonimo Profilo | Senior Member

Ciao Glauco.
Da Visual Studio ho provato a pubblicare il sito.
Mi dà:
* Generazione avviata...
* Pubblicazione avviata...
* Pubblicazione non riuscita
Come mai?

Gluck74 Profilo | Guru

e non so... non ti specifica perché la pubblicazione non è riuscita?
che tipo di pubblicazione fai? FTP o sito web?

Anonimo Profilo | Senior Member

Sito web. Comunque no, altro non mi dice.
Non vorrei che fosse il fatto che magari webhosting non supporta asp.net.

Gluck74 Profilo | Guru

webhosting.net?

facciamo prima con msn: glaucocucchiar@libero.it

Anonimo Profilo | Senior Member

webhosting.it

Abbiamo appena saputo che il server è in linux. :azz e quindi non supporta asp.net.
Vedremo cosa fare.

Gluck74 Profilo | Guru

ecco, io ti avevo detto di si perché avevo guardato webhosting.net

Anonimo Profilo | Senior Member

Fa niente. Comunque grazie per le dritte.
Per ora lo metteremo in rete locale.

martinez Profilo | Senior Member

>neanche io vedo questo comando... quindi si, difficilissimo!!!!!!
>
>se tu hai questo comando ci dici come e dove trovarlo? ci fai
>vedere un printScreen?


beh! visto il tuo commento : ti invito ad usare san GOOGLE e vedrai che il tuo lavoro diminuisce a dismisura ... ricorda che le tue difficoltà sono state e saranno difficoltà altrui al quale qualcuno ha posto rimedio ... il tuo lavoro quindi .... ecc ecc

http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=56e5b1c5-bf17-42e0-a410-371a838e570a

questo è il link dove scaricare il database publishing wizard di cui ti parlavo che cmq dovrebbe essere presente nativamente in vs2008 .... fammi sapere se riesci ad usare quel tasto destro oppure no :)

Ciao Antonio

martinez Profilo | Senior Member

>neanche io vedo questo comando... quindi si, difficilissimo!!!!!!
>
>se tu hai questo comando ci dici come e dove trovarlo? ci fai
>vedere un printScreen?

dimenticavo il printScreen:

tasto destro:

304x361 20Kb


il wizard all'opera:

515x465 101Kb


Ciao

Gluck74 Profilo | Guru

ma tu (martinez), che problemi hai? sei stressato?

la tua aria da saccente maleducato da varamente fastisio. d'ora in avanti sarai completamente ignorato!!!!

e se gli altri facessero lo stesso, proverei solo goduria

martinez Profilo | Senior Member

no comment ...

Ciao

Anonimo Profilo | Senior Member

Tanto per cambiare eccomi con nuovi problemi. E te pareva, senza di loro non vivo. -.-
Ho problemi nel gestire l'IIS.
Ho la versione 6 installata su XP Pro. Quando mi connetto al server (che ha Win 2000 Server) da IIS Manager, e poi dalla cartella web sites faccio nuovo -> web site mi appare uno wizard per crearne uno nuovo.
Il sito l'ho pubblicato sul server locale appunto da visual studio. Dopo l'ultimo passaggio del wizard per la creazione del sito mi si blocca l'IIS Manager. E io devo chiudere il processo dal Task Manager, se no non mi muovo più.
Rientro su IIS Manager e vedo che il sito è stato creato, secondo le mie impostazioni dal wizard. Però è fermo, non è avviato. Se faccio "Proprietà" per cambiare le impostazioni secondarie (anche secondo certe procedure trovate su internet) me lo fa fare, ma se faccio Browse (Sfoglia) il sito non me lo apre. Mi dà: "Impossibile visualizzare la pagina in questo programma". In più, se faccio Start (Avvia) mi si blocca di nuovo IIS Manager.
E mi viene da pensare: perché tutte a me?
Qualcuno saprebbe indicarmi una soluzione?
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