4 messaggi dal 11 aprile 2015
Salve, scusate per il titolo esagerato ma sto veramente sclerando, ogni volta che reistallo IIS su un computer ho problemi nuovi...

Ho appena installato IIS e mySql su Win 8.1 e sto cercando di riattivare un sito web asp .NET (che usa VB .NET e mySql)...

Sul mio computer precedente funzionava alla grande... ora invece continuo a ricevere questi 2 errori:

- "Richiesta non disponibile in questo contesto" (ho il sito pieno di "request.")
- "ERROR [IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato."

So che è un problema da niente ma non riesco a venirne a capo. Help! :(
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
dev'essere che il provider ODBC per MySql non è installato, oppure hai installato la versione a 32bit mentre la tua applicazione gira a 64bit.

Qui i download, dove trovi anche la versione a 64bit.
https://dev.mysql.com/downloads/connector/odbc/

...ma può anche darsi che tu non abbia indicato il nome corretto del provider nella tua stringa di connessione.
Dopo aver installato il provider a 64bit, vai nel pannello di controllo > Strumenti di amministrazione > Origine dati ODBC (64 bit) > Scheda Driver e dovresti vederlo in elenco. Usa il nome che trovi scritto lì nella tua stringa di connessione.

Comunque, per applicazioni ASP.NET future dovresti usare l'apposito provider managed, che non richiede installazioni e supporta scenari avanzati, come l'uso di Entity Framework.
https://dev.mysql.com/downloads/connector/net/

ciao,
Moreno

Enjoy learning and just keep making
4 messaggi dal 11 aprile 2015
Grazie per la risposta. Ho provato a rimuovere e reinstallare ODBC e ho provato a cambiare la stringa di connessione in:

Return New System.Data.Odbc.OdbcConnection("Driver={MySQL ODBC 5.3 Driver};Server=" & nomeServerDb & ";Database=arcadi67_forum;User=" & user1 & ";Password=" & pass1 & ";Option=11;")


Nessun cambiamento l'errore è sempre:

"ERROR [IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato."
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
ricontrolla di nuovo il nome del driver dalle Origini Dati ODBC (64 bit).

Io per esempio ho provato ad installare questo driver ODBC a 64bit ed il nome lì risulta essere "MySql ODBC 5.3 ANSI Driver". Poi ne ho anche un secondo chiamato "MySql ODBC 5.3 Unicode Driver".

La stringa che stai usando, invece, è leggermente diversa: "MySQL ODBC 5.3 Driver"

ciao,
Moreno
Modificato da BrightSoul il 11 aprile 2015 23.07 -

Enjoy learning and just keep making
4 messaggi dal 11 aprile 2015
Fantastico, 1 problema risolto, rimane solo l'altro odioso errore:

"Richiesta non disponibile in questo contesto."

Che si verifica alla presenza di un ormai datato:

instr(Request.ServerVariables("SERVER_NAME"), ".")


Il problema è il "request" ma non posso mettermi a riscrivere decine di migliaia di righe di codice (o quanto meno non subito)... cosa posso fare? avevo letto che con Classic le cose sarebbero andate a posto ma credo di essere già in questa modalità...
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
tranquillo, non c'è bisogno di riscrivere nulla. Il Request è un oggetto che esiste ancora all'interno delle pagine aspx. Il problema è che probabilmente lo stai usando fuori dal contesto di una richiesta web, come per esempio dal metodo Application_Start, che viene eseguito una sola volta all'avvio dell'applicazione. In modalità classica potevi usarlo perché rappresentava la prima richiesta che aveva "svegliato" e fatto partire l'applicazione. In modalità integrata no.

Hai due opzioni:
  • Configuri il tuo application pool affinché giri in modalità "Classica" anziché "Integrata". Per farlo, segui queste istruzioni
    https://technet.microsoft.com/it-it/library/cc725564(v=ws.10).aspx
  • Oppure eviti l'uso dell'oggetto Request nei punti in cui non è disponibile (es. nell'Application_Start) ed usi oggetti alternativi che ti possano aiutare a raggiungere lo stesso scopo. Immagino che tu stia usando la server variable SERVER_NAME per capire se sei sul PC di sviluppo o sul server di produzione. In questo caso potresti usare qualche proprietà dell'oggetto HostingEnvironment, come IsDevelopmentEnvironment o SiteName.


ciao,
Moreno
Modificato da BrightSoul il 12 aprile 2015 16.22 -

Enjoy learning and just keep making
4 messaggi dal 11 aprile 2015
Il guaio è che sono già in modalità classica, se metto integrata non mi dà nemmeno l'errore asp .net. :(
11.886 messaggi dal 09 febbraio 2002
Contributi
Puoi postare il blocco di codice che ti sta dando problemi?
Hai provato a sostituire l'oggetto Request con qualcos'altro, tipo qualche proprietà di HostingEvironment che possano aiutarti comunque a risolvere il problema?

ciao,
Moreno

Enjoy learning and just keep making

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.