17 messaggi dal 20 ottobre 2012
salve a tutti
vengo da ASP ed e' una settimana che mi sono addentrato in ASP.NET; utilizzo VS 2010 ed ho il seguente problema:
ho imparato correttamente a pubblicare un applicazione Web,facendo il package .zip e trasportandolo correttamente nel mio IIS di destinazione, funziona tutto...
Orbene, il passo successivo è:preso un semplice db access, presi un paio di componenti sqldatasource e un detailview...verificando che funzionasse..ho provato a pubblicarlo senza esito...in pratica ho messo il db access nella sottocartella di progetto /appdata...ma in fase di pubblicazione nemmeno me la copia!!!
Esiste una qualche procedura guidata dove guardare per far questa cosa??
Ringrazio anticipataemnte e saluto
209 messaggi dal 09 ottobre 2006
Ciao danielsan27,
innanzitutto benvenuto nel mondo .net :-)
perchè usi sqldatasource e non AccessDataSource dato che utilizzi Access?
In che modo pubblichi il tuo sito web?
Prova ad usare un programma ftpclient e trasferisci il tuo db!
17 messaggi dal 20 ottobre 2012
Grazie x la risposta e il benvenuto...
grazie x il consiglio di accessdatasource al posto di sqldatasource...lo mettero' in pratica..ma andimao fuori dal problema...
a prescindere dal componente utilizzato...il programma GIRA bene, sul server di debug...è la momento della pubblicazione che nn copia ne la cartella "appdata" dove sta il db access, ne ovviamente funziona quando lo faccio girare sul mio IIS vero locale...
il bello è..che se levo tutti i componenti databse...e pubblico la mia applicazione...funziona!!!
Ovviamente sbalgio qualcosa durante la procedura di pubblicazione...
Vediamo se riesco a riassumere i passi:
1)una volta appurato che la mia applicazione GIRA..vado su proprieta della mia app tramite esplora soluzioni, quindi scelgo->pubblicazione/creazione pacchetto WEB
2)come configurazione ho attiva(debug) e piattaforma (any cpu)
3)elementi da distribuire->solo file necessari allì'applicaizone e le due spunte successive -> escludi appdata e simboli genrati debug SONO DISATTIVATI
4)includi tutti i database configurati nella scheda pubblicazione SQL--> ATTIVO
5)crea pacchetto distribuzione come file .zip--> ATTIVO
6)nome applicazione/sito Web IIS da usare nel serve destinazione-->defaultwebsite/miosito
-------
ora veniamo alla scheda PUBBLICAZIONE/CREAZIONE PACCHETTO SQL
-------
1)configuraizone attiva(debug) piattaforma (anycpu)
2)voci di database--->utilizzo importa da web.config--->mi importa 2 voci:NOMEDATABASEconnectionstring-distribuzione e applicationservices-distribuzione
3)dettagli voci database->stringa di connsesisone per database di destinazione -->vuota
4)estrai dati e/o schema da database esistente-->spuntato
5) stringa di connessione per il database di origine --> Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnetdb.mdf;Integrated Security=True;User Instance=True
E QUI SORGE IL PRIMO DILEMMA: SE IL MIO DATABASE SI CHIAMA ARCHIVIO.ACCDB...PERCHE QUI MI SCRIVE ASPNETDB.MDF ??????
6)opzioni script database-->schema e dati
7)script del database--->schema e dati generato automaticamente
-----DETTO QUESTO faccio tasto dx sul nome della mia app dal solution explorer e faccio-->compila pacchetto di distribuzione che mi genera il .zip e faccio anche PUBBLIC-----> scelgo FILE SYSTEM e vado a metterlo nella cartella /defaultWebsite/miosito

mi copia tutto ..tranne la cartella appdata contentente il mio ARCHIVIO.accdb...e ovvimaente nn parte

Questo è tutto....
non so cosa altro fare....
se esite un altra procedura funzionante attendo cortesi delucidazioni...
Ringrazio
:(
209 messaggi dal 09 ottobre 2006
Io non uso il tool public, io carico tutti i files direttamente con un programma ftp (FileZilla) e basta.
17 messaggi dal 20 ottobre 2012
capisco...quello che nn capisco è...se ASP.NET E'DIVERSO DA ASP...ovvero nn si puo semplicemnte fare copia e incolla delle cartelle dal tuo progetto al tuo server di destinazione (remoto o locale che esso sia)....te come hai risolto??? io questo n capisco...
Cmq x notizia...ho provato incuriosito ad usare il componente ACCESSDATASOURCE....strnao ma vero NON MI VEDE il database .mdb che ho isnerito nella cartella appdata del sito....con sqldatasource va....
Saro onesto..son 3 giorni che sto chiedendo a community varie...e sto spulciando libri su libri...nn c'e un diavolo di nessuno che abbia trattato questa cosa...a dir poco banale....piazzare un semplice controllo per far vedere una dannata tabella e risucire a portare la propria applicazione su un altrettanto dannato server di destinazione...nessuno pare e' in grado di affrontare questa cosa "banale"...sto seriamente pensando di riporgettare l'apllicazione a di tornare al mio vecchio buon ASP...
grazie cmq
209 messaggi dal 09 ottobre 2006
Io faccio semplicemente copia/incolla come dici tu.
Mi creo il sito web in locale e poi lo copio paripasso sul server (aruba principalmente).
Questo è un esempio di AccessDataSource:
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/shop_bot.mdb" SelectCommand="SELECT * FROM [TbProdotti]">
</asp:AccessDataSource>

Questa è una semplice tabella dei prodotti contenuti in una tabella:
<asp:DataList ID="DataList1" runat="server" DataKeyField="IdProdotto"
DataSourceID="AccessDataSource1">
<ItemTemplate>
IdProdotto:
<asp:Label ID="IdProdottoLabel" runat="server"
Text='<%# Eval("IdProdotto") %>' />
<br />
NomeProdotto:
<asp:Label ID="NomeProdottoLabel" runat="server"
Text='<%# Eval("NomeProdotto") %>' />
<br />
<br />
</ItemTemplate>
</asp:DataList>

Ritornare al buon vecchio ASP? Ma che dici?!?! Io mi son pentito di non averlo imparato prima. E' dal 2006 che non uso il buon vecchio ASP CLASSIC!!!
Per qualsiasi dubbio o problema chiedi pure qui, ti aiuteranno tantissimo proprio come hanno fatto con me :-)
Modificato da satego il 21 ottobre 2012 21.10 -
17 messaggi dal 20 ottobre 2012
grazie 1000!!
finalmente un esempio pratico!!

Ora...diciamo che invece di "aruba" dobbiam farlo girare sul ns buon vecchio server locale IIS sul ns pc....diciamo dento INETPUB/WWWROOT/sitoprova

come cambiamo il web.config??

e cmq...mi si verifica quello strano problema che ti ho detto cercando di usare il componente accessdatasource....se ci provo in fase di design come lo piazzo...me lo mette e quando vado a scelgiere la stringa in automatico pescando dal db....il mio db nn lo trova da nessuna parte!!! ne in appdata ne altrove...è come se nn vede nessun MDB....invece con sqldatasource lo vede al volo....boh!!!

cmq una cosa x volta....sento che siamo vicini....

ah dimenticavo...se puo essser utile...l'errore che mi restituisce quando provo a pubblicare è il seguente:

Errore1Attività di distribuzione Web non riuscita (Impossibile creare l'oggetto di tipo 'dbFullSql' e percorso 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Basidati\Basidati\App_Data\ARCHIVIO.mdb"'.).

Impossibile creare l'oggetto di tipo 'dbFullSql' e percorso 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Basidati\Basidati\App_Data\ARCHIVIO.mdb"'.
Il valore 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Basidati\Basidati\App_Data\ARCHIVIO.mdb"' non è una stringa di connessione valida né un percorso assoluto.
Parola chiave 'provider' non supportata. 00Basidati


Intanto grazie..mi hai restituitio il 30% di fiducia... :)
209 messaggi dal 09 ottobre 2006
Se la cartella "sitoprova" corrisponde alla root del sito non devi cambiare nulla nel web.config. Se vuoi salvarti nel web.config la stringa di connessione al db puoi usare questo esempio:
<connectionStrings>
<add name="ShopMMM" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Shop_bot.mdb"/>
</connectionStrings>

Ma che tipo di progetto hai creato? Web application o website?
Il motivo per cui non trovi il db non te lo so dire, al max crea un nuovo progetto di tipo website e considera il framework di destinazione. Se sul server hai il 2.0 è inutile creare in locale un sito col framework 4!

Per quanto riguarda gli errori che hai inserito mi spiace ma non so risponderti, io non ho mai incontrato l'oggetto di tipo dbFullSql.
Magari se qualcun'altro vuole intervenire ^_^

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.