82 messaggi dal 14 luglio 2005
Ciao Frever,
anche se metto il file che gestisce l'inserimento, la modifica e l'eliminazione dei dati dal db dentro alla cartella public mi fa lo stesso errore di quando li ho messi fuori.
Ma porca miseria proprio non capisco
82 messaggi dal 14 luglio 2005
ho come l'impressione che la stringa che utilizzo per connettermi al database ossia
Microsoft.Jet.OLEDB.4.0

sia per server a 32 bit se il mio fosse a 64 bit?
Purtroppo non lo so
conoscete altri metodi per provare?


...pensavo se il problema potrebbe dipendere anche dal fatto che io ho programmato su asp.net framework 3.5 il web.config generato è quello di un 3.5 mentre lo spazio sul server è bastao su framework 4.0?
Però leggevo che aruba copre Framework 3.5/4.0
Modificato da ely85 il 06 gennaio 2012 16.23 -
97 messaggi dal 15 marzo 2001
Cerco di spiegarmi meglio: nella cartella Public ci vanno i file (immagini, doc, pdf etc..) che voglio UPLODARE utilizzando di norma una web-form; per esempio se voglio caricare i dati di una persona compresa la foto e fare l'upload dal mio pc dovrò mettere il file jpg/png nella cartella public od in una sua sottocartella.
Per quanto riguarda 32 o 64 bit non c'entra nulla con la stringa di connessione.
Ecco un esempio (in VB) di una connessione ad un dbase ed il relativo inserimento dei dati, presi da una web-form, in una tabella
...... nella intestazione del file....
<%@ Assembly Name="ADODB" %>
<%@ Import Namespace="ADODB" %>
<%@ Import Namespace="System.Data" %>
<%@ import Namespace="System.Data.Oledb" %>
....... nella Sub.......
Dim objConnection As OleDbConnection
Dim objCmd As OleDbCommand

Dim strConnection As String
Dim strSQL As String

strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("app_data\db1.mdb")
objConnection = New OleDbConnection(strConnection)
objConnection.Open()
titolo1 = titolo.text
'attivo = "Sì"

'strSQL = "INSERT INTO news(titolo,titolo_inglese,titolo_tedesco,testo,testo_inglese,testo_tedesco,link,inizio,fine,immagine,pdf) VALUES (@ttitolo,@ttitolo_inglese,@ttitolo_tedesco,@ttesto,@ttesto_inglese,@ttesto_tedesco,@tlink,@tinizio,@tfine,@timmagine,@tpdf)"
strSQL = "INSERT INTO news(titolo,testo,link,inizio,fine,immagine,pdf) VALUES (@ttitolo,@ttesto,@tlink,@tinizio,@tfine,@timmagine,@tpdf)"

objCmd = New OleDbCommand(strSQL, objConnection)
objCmd.Parameters.AddWithValue("@ttitolo", SqlDbType.VarChar).Value = titolo.Text
objCmd.Parameters.AddWithValue("@ttesto", SqlDbType.VarChar).Value = testo.Text
objCmd.Parameters.AddWithValue("@tlink", SqlDbType.VarChar).Value = link.Text
objCmd.Parameters.AddWithValue("@tfine", SqlDbType.Date).Value = data_rif2
objCmd.Parameters.AddWithValue("@tinizio", SqlDbType.Date).Value = data_rif3
objCmd.Parameters.AddWithValue("@timmagine", SqlDbType.VarChar).Value = lblmsg.Text
objCmd.Parameters.AddWithValue("@tpdf", SqlDbType.VarChar).Value = lblmsg2.Text

objCmd.ExecuteNonQuery()
objconnection.close()
82 messaggi dal 14 luglio 2005
Ciao Frever,
esatto ho fatto proprio così
in public / uploadimage
ci sono tutte le immagini caricate
mentre in APP_CODE
c'è un file esterno che ho creato io di connessione al db
fatto in questo modo:


namespace Site.Database
{

  public class SiteDatabase
  {

    // Database name, this string MUST BE specified properly for each solution
        private const string strDatabaseName = "./mdb-database/database.mdb";

    public static OleDbConnection getDBConnection() {
            return new OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0; Data Source=" + System.Web.HttpContext.Current.Server.MapPath(strDatabaseName));
        }

  }
}


e il db è nella cartella mdb-database
tu mi consigli di provare a metterlo in APP_CODE?
Io non capisco davvero cosa ci sia che non va
ely85 ha scritto:
Ciao Frever,
esatto ho fatto proprio così
in public / uploadimage
ci sono tutte le immagini caricate
mentre in APP_CODE
c'è un file esterno che ho creato io di connessione al db
fatto in questo modo:


namespace Site.Database
{

  public class SiteDatabase
  {

    // Database name, this string MUST BE specified properly for each solution
        private const string strDatabaseName = "./mdb-database/database.mdb";

    public static OleDbConnection getDBConnection() {
            return new OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0; Data Source=" + System.Web.HttpContext.Current.Server.MapPath(strDatabaseName));
        }

  }
}


e il db è nella cartella mdb-database
tu mi consigli di provare a metterlo in APP_CODE?
Io non capisco davvero cosa ci sia che non va

Ciao Ely, il db o lo devi mettere nella cartella mdb (che ti dicevo stamattina) oppure come diceva Frever nella cartella App_Data (no App_Code), ricordati di modificare la stringa di connessione, che dev'essere corretta altrimenti non trova il db. In pratica App_data è una cartella speciale di asp.net dove inserire i db mentre App_Code serve per inserire le nostre classi sostanzialmente. Questa stringa "Provider=Microsoft.Ace.OLEDB.12.0" mi risulta un po strana, non ne ho mai vista una cosi, di solito per connttersi ad access si usa una stringa un po diversa o forse mi sfugge qualcosa?

Magari posta il tuo codice che cosi capiamo meglio se c'è qualocsa di sbagliato, ok?

Ciao,

Ricardo.

Creazione Siti Vicenza
Posizionamento Siti - SEO
Ciao, allora ho guardato online facendo la prova che mi dicevi. Ho visto l'errore che ti da, ma cosi risulta quasi impossibile "fare una diagnosi".

Io farei cosi, nel tuo pc mettere un punto d'interruzione alla riga 67 (dove ti genera l'errore) fare un debug e poi quando arrivo a quel punto (che si fermerà ovviamente) procedere un passo alla volta premendo f10 e leggendo in VS (a sinistra in basso di solito) le info che ti da.

Cosi si hanno delle informazioni piu dettagliate riguardo l'errore.

Tuttavia ad occhio e croce il problema è nell'apertura della connessione, che in qualche modo non riesce a fare, bisognerebbe rivedere il motivo. Hai gia provato a mettere il db nella cartella App_Data e il web.config che contiene la stringa di connessione nella root del sito?

Fammi sapere come va...

Creazione Siti Vicenza
Posizionamento Siti - SEO
82 messaggi dal 14 luglio 2005
Ciao Ricky,
perdonami scusami ho sbagliato in realtà la stringa di connessione che ho scritto è la seguente:

namespace Site.Database
{

  public class SiteDatabase
  {

    // Database name, this string MUST BE specified properly for each solution
        private const string strDatabaseName = "./mdb-database/database.mdb";

    public static OleDbConnection getDBConnection() {
            return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(strDatabaseName));
        }

  }
}


Il db l'ho inserito dentro alla cartella mdb-database infatti vedi il percorso in alto, perché questa classe l'ho inserita all'interno della cartella APP_CODE

Prova a mettere il db in APP_DATA ma non credo cambierà qualcosa...
La cosa strana è che il medesimo codice su un altro dominio aruba acquistato meno recentemente funziona...:(
Quale parte devo postare Ricky?
82 messaggi dal 14 luglio 2005
adesso provo a mettere il db nella cartella APP_DATA
invece la web.config è nella root principale

così va bene no?

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.