Principale utente con più risposte
Eccezione randonica nella open connessione Access

Domanda
-
Ho un sito realizzato in ASP.NET. Hosting Aruba, piattaforma WIN. Il
code behind è C#. Se accedo ad una funzione che interroga un db Access
(2000), ok.
Se provo a rieseguire la stessa funzione statica (o altre collegate)
appare l'eccezione come da oggetto. In particolare questa si solleva
nella open della connessione:
OleDbConnection cn = default(OleDbConnection);
cn = new OleDbConnection(cnString);
cn.Open(); <------------------------
La cosa bella è che questo tipo di errore si presenta in più punti del
progetto.
Nel web config, l'authentication mode è su Form il quale interroga un
db (sempre access) di servizio e pilota la navigazione.
Non riesco a venirne a capo. Potreste dirmi dove sbaglio?
ciao
Risposte
-
Allora prova cosi:
aggiungi la stringa di connessione nel web.config:
<add name="MyAccessDB" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\MyAccessDB.mdb;User Id=admin;Password=XXXX" providerName="System.Data.OleDb" />
Metti il file Acces nella directory APP_DATA e da codice richiama la string di connessione del web.configCiao
LCO (congiuluc)- Modificato Luca Congiu [congiuluc]Moderator mercoledì 4 agosto 2010 14:53 Riformattato codice
- Proposto come risposta Mila Daniel Ovidiu lunedì 9 agosto 2010 08:15
- Contrassegnato come risposta Mila Daniel Ovidiu giovedì 12 agosto 2010 10:20
-
Tutte le risposte
-
Ciao, potresti controllare l'accesso al database. Magari la stringa di connessione non è in formatto giusto. Guarda qui per esempi.
Saluti.
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e farli aumentare la conoscenza sui prodotti e le tecnologie Microsoft. -
Grazie per la risposta. Quasi quasi non ci speravo più ...
La mia stringa di connessione è:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\SOR\mdb-database\mio.mdb;Persist Security Info=False;Jet OLEDB:Database Password=12345;
che è similarea quella suggerita dal sito.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
il problema mi rimane. Ho visto in giro che può essere un problema di provilegi di lettura e scrittura ma ho abilitato tutte le cartelle in tal senso...
che può essere?
ciao
-
Ciao, non so se ho capito bene. La tua database sta su aruba o in locale?
Saluti.
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e farli aumentare la conoscenza sui prodotti e le tecnologie Microsoft. -
-
Ciao, potresti postare il testo completto dell'eccezione?
Prova a crearti un'applicazione di test usando questa guida.
Saluti.
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e farli aumentare la conoscenza sui prodotti e le tecnologie Microsoft.- Proposto come risposta roberto1965 mercoledì 4 agosto 2010 07:38
- Modificato Mila Daniel Ovidiu mercoledì 4 agosto 2010 07:56 aggiunto guida e esempi
-
Ti posto il testo completo. Intanto do una scorsa ai link suggeritomi.
-----------------------------------------
Unspecified error
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: Unspecified error
Source Error:
Line 1148: OleDbConnection cn = default(OleDbConnection);
Line 1149: cn = new OleDbConnection(cnString);
Line 1150: cn.Open();
Line 1151:
Source File: d:\inetpub\webs\sito\App_Code\Sorgente.cs Line: 1150
Stack Trace:
[OleDbException (0x80004005): Unspecified error]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +969373
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4863644
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.OleDb.OleDbConnection.Open() +40
classeStatica.Funzione(Int64 x, String al, String dal, Int32 n, Int32 pers) in d:\inetpub\webs\sito\App_Code\Sorgente.cs:1150
classeStatica.AltraFunzione(Int64 x, String d1, String d2) in d:\inetpub\webs\sito\App_Code\Sorgente.cs:449
altraClasseStatica.Funzione() in d:\inetpub\webs\sito\altroSorgente.aspx.cs:489
WebForm.Page_Load(Object sender, EventArgs e) in d:\inetpub\webs\Sito\altroSorgente.aspx.cs:53
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
----------------------------------------- -
Guarda qui: http://support.microsoft.com/kb/825738
E prova a mettere nel web.config in locale
Mentre nel web.config su aruba<identity impersonate="true" />
Ciao<identity impersonate="true" userName="XXXXXX@aruba.it" password="XXXXXXX" />
LCO (congiuluc) -
Grazie per la risposta.
No. Ho provato ma nulla da fare.
Pubblico anche il web.config:
-------------------------------------------------
<?xml version="1.0"?>
<!--
Nota: come alternativa alla modifica manuale del file, è possibile utilizzare lo
strumento di amministrazione Web per configurare le impostazioni dell'applicazione. Utilizzare il comando
Configurazione ASP.NET del menu Sito Web di Visual Studio.
Un elenco completo di impostazioni e commenti è disponibile nel file
machine.config.comments che si trova in genere in
\Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
<appSettings>
</appSettings>
<connectionStrings>
</connectionStrings>
<system.web>
<!--
Impostare compilation debug="true" per inserire i
simboli di debug nella pagina compilata. Poiché tale
operazione ha effetto sulle prestazioni, impostare questo valore su true
solo durante lo sviluppo.
-->
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies>
</compilation>
<!--
La sezione <authentication> consente di configurare
la modalità di autenticazione della sicurezza utilizzata da
ASP.NET per identificare un utente in ingresso.
-->
<identity impersonate="true" userName="nontelodico@aruba.it" password="123456789" />
<authentication mode="Forms">
<forms name="mioCookie" protection="All" loginUrl="~/areaRiservata.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<customErrors mode="Off"/>
<!--
La sezione <customErrors> consente di configurare
l'operazione da eseguire in caso di errore non gestito
durante l'esecuzione di una richiesta. In particolare,
consente agli sviluppatori di configurare le pagine di errore HTML
in modo che vengano visualizzate al posto dell'analisi dello stack dell'errore.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
</system.web>
<!--Protezione di una specifica directory-->
<!--<location path="Utenti">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>-->
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
<!--<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>-->
</compilers>
</system.codedom>
<!--
La sezione system.webServer è richiesta per eseguire ASP.NET AJAX in Internet
Information Services 7.0. Non è necessaria per la versione precedente di IIS.
-->
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
------------------------------------------------mdb-database è in lettura/scrittura; idem per la cartella App_Code
Non capisco... :(
-
Allora prova cosi:
aggiungi la stringa di connessione nel web.config:
<add name="MyAccessDB" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\MyAccessDB.mdb;User Id=admin;Password=XXXX" providerName="System.Data.OleDb" />
Metti il file Acces nella directory APP_DATA e da codice richiama la string di connessione del web.configCiao
LCO (congiuluc)- Modificato Luca Congiu [congiuluc]Moderator mercoledì 4 agosto 2010 14:53 Riformattato codice
- Proposto come risposta Mila Daniel Ovidiu lunedì 9 agosto 2010 08:15
- Contrassegnato come risposta Mila Daniel Ovidiu giovedì 12 agosto 2010 10:20
-
-
-
-
-
Grazie per il riscontro ;-)
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e farli aumentare la conoscenza sui prodotti e le tecnologie Microsoft.