Logica rovesciata

venerdì 03 ottobre 2008 - 18.39

13600210 Profilo | Newbie

Saluti a tutti,
la mia necessità è quella di creare un applicativo in asp net che gestisca un database residente sul pc locale dei client.
Se ciò è possibile come indirizzo la connessione al database?

Grazie.

alx_81 Profilo | Guru

>Saluti a tutti,
Ciao!

>la mia necessità è quella di creare un applicativo in asp net
>che gestisca un database residente sul pc locale dei client.
>Se ciò è possibile come indirizzo la connessione al database?
Certo che è possibile. L'importante è avere un sistema operativo che ti consenta di installare IIS e SQL Server o Access o qualunque DB tu voglia usare.
Una volta che hai installato tutte queste cose, puoi usare Visual Web Developer Express 2008 (http://www.microsoft.com/express/vwd/) e poi impostare la stringa di connessione al database riferendoti a questo utilissimo sito: http://www.connectionstrings.com

>Grazie.
di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

13600210 Profilo | Newbie

Grazie per la risposta, che ho accettato.
Resta pero il fatto che non riesco a connettermi al db in locale.
Utilizzo questa pagina web a cui si arriva dopo autenticazione tramite una pagina di login :
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="riservata.aspx.vb" Inherits="riservata" title="Sito ufficiale SETA ITALIA Srl : Area riservata" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="c:/seta.mdb"

SelectCommand="SELECT * FROM [protocollo] WHERE (([p0] = ?) AND ([p29] = ?)) ORDER BY [pi] DESC">
<SelectParameters>
<asp:ControlParameter ControlID="compagnia" Name="p0"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="ramo" Name="p29" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:AccessDataSource>
<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>

<p style="height: 19px; font-size: medium; width: 648px; color: #660033; font-family: 'Times New Roman', Times, serif; text-align: left; top: 130px; left: 5px; position: absolute;">
<asp:LoginName ID="LoginName1" runat="server"
style="font-size: medium; text-align: left;" />

: Benvenuto nell&#39;area riservata. <br /> Sei autenticato e puoi usufruire dei servizi!
<asp:Label ID="message" runat="server"></asp:Label>
</p>
</LoggedInTemplate>
</asp:LoginView>

L'errore che mi da è il seguente :
Server Error in '/' Application.
--------------------------------------------------------------------------------

Could not find file 'c:\seta.mdb'.
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: Could not find file 'c:\seta.mdb'.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[OleDbException (0x80004005): Could not find file 'c:\seta.mdb'.]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +1131233
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +53
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +27
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +47
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.OleDb.OleDbConnection.Open() +37
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +121
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1770
System.Web.UI.WebControls.AccessDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +74
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +92
System.Web.UI.WebControls.ListControl.PerformSelect() +31
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +26
System.Web.UI.Control.PreRenderRecursiveInternal() +86
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2041


Dunque sbaglio la sintassi della stringa di connessione, il database l'ho inserito sotto root del mio pc, se fosse inserito sotto App_data del sito funziona perfettamente.

Spero che sia più chiaro adesso il quesito.
OK.



--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

alx_81 Profilo | Guru

>Grazie per la risposta, che ho accettato.
>Resta pero il fatto che non riesco a connettermi al db in locale.

>Dunque sbaglio la sintassi della stringa di connessione, il database
>l'ho inserito sotto root del mio pc, se fosse inserito sotto
>App_data del sito funziona perfettamente.
infatti deve essere sotto la cartella App_data. Devi mettere il database lì e la proprietà datafile deve essere "~\App_data\tuodb.mdb"

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

13600210 Profilo | Newbie

Grazie ancora Alx_81.
Devo però, ancora insistere, perchè non mi sono spiegato bene.
Il database da interrogare non si trova fisicamente sul server del provider, ma sull'hd del client.
Pertanto quando invio la richiesta al server, questo deve interrogare il database che si trova sul pc locale che sto utilizzando in quel momento, quindi reinviarmi la pagina con il risultato dell'interrogazione.
Forse potrei usare come |DATADIRECTORY| una sintassi tipo : //IP/CARTELLA/DB relativo al pc che sto usando in quel momento.
Le prove che sto facendo mi riportano sempre la risposta di errore nell'applicazione perchè non trova il file.
Ciao.

alx_81 Profilo | Guru

>Pertanto quando invio la richiesta al server, questo deve interrogare
>il database che si trova sul pc locale che sto utilizzando in
>quel momento, quindi reinviarmi la pagina con il risultato dell'interrogazione.
>Forse potrei usare come |DATADIRECTORY| una sintassi tipo : //IP/CARTELLA/DB
>relativo al pc che sto usando in quel momento.
No, non puoi.. o fai n siti staccati coi db sul client e poi li sincronizzi, sennò, niente..
Ogni applicazione sul client deve legarsi al relativo DB..
Quindi ogni client deve avere la sua APP_Data e il suo ACCESS..
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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