Newsgroup: it.lavoro.informatica
Titolo: VB .NET + Access : una scelta professionale ?

Dovendo sviluppare un piccolo utility ospedaliero, sto usando VB .NET e 
Access.  (Il VB .NET perchè l'ho scelto io, dato che VBA non esiste più) 
e il database Access me lo ono trovato già pronto.
Capita però che la mia applicazione inspiegabilmente *distrugge* il 
contenuto del database dopo 5 o 6 volte che gira.
cioè io faccio il run, va bene 5 o 6 volte e poi, zac ! tutti i dati 
sono spariti. Cioè il ocntenuto del database, non il file.
Eppure il programma NON FA NIENTE : volevo solamente testare i tools 
messi a disposizione di VB .NET per 'linkare' le varie voci delle 
tabelle alla GUI : quindi NON C'È CODICE SCRITTO DA ME. Solo quello
generato automaticamente dal compilatore. Uso il  .NET 4.0
Ora, dato che un problema simile esula dal puro e semplice linguaggio di 
programmazione usato (magari in C# è la stessa cosa), la mia domanda è :
si puo' rischiare di lavorare professionalmente in un ambiente simile ??
Cosa mi succede se dopo che il programma è operazionale, quello mi 
distrugge tutti i dati di un ospedale ??
La questione è troppo seria e vorrei risolverla.
Dato che la mia poca pazienza e tolleranza è universalmente nota, io 
propenderei per dimenticare totalmente il Framework .NET e Access.
(AL momento il file .mdb contiene i dati di 4700 pazienti di una clinica 
unbiversitaria).
Per il futuro io direi di cambiare piattaforma. magari usando Oracle.
Alla piattaforma non ci ho ancora pensato.
Ho ragione o sono troppo radicale  ?
Grazie dei feedback.

 distrugge tutti i dati di un ospedale ??
Se non è una trollata, hai fatto benissimo a domandare.
Non usare Access in quell'ambiente.
Usa un qualche db che abbia opzioni high availability, ove sia
possibile sia ridondanza che failover, possibilmente automatica (scusa
l'Inglese, ma non ricordo i termini in Italiano, se esistono). Ne
esistono sia proprietari che open.
--
ale
http://ale.riolo.co.uk

 generato automaticamente dal compilatore. Uso il .NET 4.0
Chissa' che minchiata c'e', nel programma...
-- 
Ciao!
Luca


Il fatto è che Access e l'ambiente Windows sono ancora molto diffusi in 
ambito ospedaliero.

 ambito ospedaliero.
Preciso: non usare Access come database principale di un ospedale
(i.e. per tenerci i dati di 4700 pazienti). Puoi usare Access (ma
perchè?) per fare elaborazioni, reportistica, POS, ..., ma i dati
vanno tenuti da qualche altra parte (glieli puoi fare arrivare tramite
ETL, link read only, ...).
--
ale
http://ale.riolo.co.uk


proprio quello sto facendo (una tesi). Eppure il problema io lo vedo 
cos� grave che a me sembra determinante per decidere SI/NO per un 
ambiente di sviluppo.
Non � possibile, dico io, mettersi a 'smanettare' SOLAMENTE con i tools 
messi a disposizione dall'environment, senza aggiungere codice proprio, 
(per test ovviamente) ed avere un prodotto che ti distrugge il contenuto 
di un database.
Non esiste proprio.
Ciao.
John.


Provare per credere.
1) crei un database 'PIPPO.mdb' con Access, con una Tabella 'Anagrafica' 
in cui tu metti quattro colonne :
ID_paziente
Cognome
Nome
Codice Fiscale.
2) riempi la tabella con contenuto a caso, battendo sulla tastiera
Metti quatro righe.
2) Crea una GUI così fatta :
- quattro TextBox  (ID Paziente, Cognome, Nome, Codice Fiscale)
- Un dataGridView
3) sulle proprietà del Textbox clicca 'Binding' e allaccia ogni Textbox 
con la corrispondente colonna della tabella Anagrafica (Cognome, nome, etc.)
4) la IDE avrà generato di suo un AnagraficaBindingSource.
5) Adesso linka il dataGridView con la stessa sorgente, specificando in 
'DataSource' la  AnagraficaBindingSource creata dal sistema.
Fai girare il programma.
Per 5 o 6 volte appaiono i dati correttamente. Poi al prossimo run tutto 
é sparito. Cioé anche accedendo al database con Access si nota che IL 
CONTENUTO E' STATO DISTRUTTO.
Anche se io avessi fatto delle minchiate, (senzaltro possibile, le 
minchiate le facciamo tutti, a turno) un Developing Environment NON PUO' 
PERMETTERSI di generar ca§§ate di questo tipo, considerando anche che la 
stragrande maggioranza che usa quell'environment non sono esperti ma 
beginners o 'mezzi-esperti'.
Questo ad un Developing Environment non glielo concedo. Mi dispiace.
Un Environment deve essere FOOL PROOF.
E apparentemente la combinazione VB .NET + Access NON LO E'.
Forse sbaglio in questo mio giudizio drastico, ed è per questo che lo 
propongo qui.
(Sono proprio curioso, alla fine, di vedere qual'è la causa di un simile 
comportamento).
John.

 ..
risposta lunga:  se il database viene azzerato non e' "colpa di
access", e' sicuramente qualcosa di sbagliato che hai fatto tu.. ma
comunque non consiglierei Access come strumento per una soluzione che
vada al di la' di un piccolo tool da ufficio monoutente. Visto che non
si tratta di un' applicazione di dimensioni mostruose non credo sia
nemmeno il caso di scomodare Oracle ( o SQL Server full) che tra l'
altro comporterebbero mostruosi costi di licenza. Il linguaggio non e'
un problema, C# e 
VB.NET
 sono due grammatiche leggermente diverse per
la stessa sostanza.. Se sei abituato a lavorare con MS ti consiglierei
VB.NET
 + SQL Server Express: questa sarebbe una piattaforma di
sviluppo del tutto rispettabile e scalabile. Se non ti piace lavorare
con MS un' alternativa potrebbe essere Java + PostgreSQL  MySQL o
anche Oracle Express. Se non ci sono particolari requisiti alla fine
e' anche molto una questione di quale tecnologia ti e' piu' familiare
o quale ti interessa di piu' approfondire..

 > ambito ospedaliero.
come i batteri pericolosi, ma non e' una buona ragione per
tollerarli :)


L'ambiente in cui mi muovo, anche in ambiente Universitario, è 
fortemente orientato a Microsoft Visual Studio, ASP, .NET  etc.

 tollerarli :)
Perché non hai risposto direttamente a John?
--
ale
http://ale.riolo.co.uk

 Ho ragione o sono troppo radicale ?
per come la vedo io sei fin troppo blando. al di là della solidità del 
database su cui si può anche discutere, ma i dati dei pazienti su un 
file mdb... non trovo parole per commentare. a me pare un problema molto 
più grosso.

 fortemente orientato a Microsoft Visual Studio, ASP, .NET  etc.
e allora vai con 
VB.NET
 + SQL Server Express.
Ma non andare cosi' a tentativi, o piglierai solo sonore facciate.
Un libro come questo potrebbe esserti utile
http://www.amazon.com/Murachs-ADO-NET-Database-Programming-2010/dp/1890774626/
Oppure ci sono i video tutorial di AppDev che sono grandiosi. Putroppo
costano pure un fottio...
Io non lo farei mai perche' e' illegale  ;P  ma ci sono molti siti
dove puoi trovare i loro tutorial su .NET, SQL Server, 
ADO.NET
, ASP o
WPF ....

 WPF ....
<hehehehe> neanch'io lo farei mai, perchč č illegale....
(Ma soprattutto perchč dopo due o tre mesi ti accorgi di avere un 
viretto che ti obbliga a reinstallare il sistema.... :-(((((  )


Per fortuna non sono io il colpevole.
Io uso solo quello che passa il convento.... :-)))

..
risposta breve: NO.


wrote:

volevo, ogni tanto sbaglio persino io  :P



ad essere sinceri mi preoccuperebbe anche il fatto che qualcuno mi 
potrebbe un giorno accusare di essermelo copiato.
ma anche quello che ti è successo... si può consegnare un programma 
sapendo che ha i privilegi per asfaltare il database di produzione? al 
di la della pura questione tecnica che profuma di cazzatella da un 
kilometro (non conosco gli strumenti ma questi "misteri" si risolvono 
tutti così, garantito) resta il fatto che è suonato un campanello 
d'allarme e forse è meglio ascoltarlo che zittirlo.


Usato A-cess una volta, credo nel 1996 per un mini-progetto,
mio giudizio : pessimo prodotto.
 Non ci ho mai piu' voluto aver a che fare ... :-)
ciao
fm

 d'allarme e forse è meglio ascoltarlo che zittirlo.
Che esiste una causa specifica per tutto quello che accade in un 
computer, ci credo anch'io. Anch'io nella mia lunga esperienza di 
software developer mi sono rotto le corna con centinaia di 'misteri' che 
poi alla fine si sono risolti.
Ma quante 'cazzate' si possono fare creando un codice solo usando un mouse ?
Cioè tu lanci l'IDE del VB Express 2010 e cominci a cliccare qua là, 
SENZA SCRIVERE CODICE TUO. Alla fine fau 'run' e quello gira quattro o 
cinque volte e poi ti sparisce il contenuto del database.
Tu pensi ad un errore di link, avrai fatto qualche cazzata cliccando e 
che non sei connesso propriamente al database.
E invece scopri alla fine che quello che vedi è proprio quello CHE C'È ?
Cioè il contenuto è stato cancellato.
Eppure non ho usato nessun 'button' che contenga codice 'delete' o 
'insert' o qualche altra cosa.
E' questo che mi ha colpito maggiormente.
Quello che fa il softwrae è solamente quello cche l'IDE stessa ha creato.
Incluso il  data.adapter.Fill (datatable) messo automaticamente sul 
Form.Load.
A questo punto credo nei fantasmi, in Babbo natale e negli UFO.
In alternativa, sono obbligato a credere che l'IDE del VB .NET (oppure 
Access ???)  non siano FOOL PROOF.

 propenderei per dimenticare totalmente il Framework .NET e Access.
Toh, un altro che ha scoperto che per fare il programmatore non basta
il point e click !
ps: access non è certo la scelta adatta per un DB ospedaliero, ma che
tu non riesca a salvarci un record da 
vb.net
 fa ride...

esistono sia proprietari che open.
Non so se ti rendi conto di quanto costi mettere su e mantenere una 
infrastruttura simile. Credo che non sia economicamente possibile per la 
realtà che deve affrontare il buon John :-)
Probabilmente un sano SQLServer Express sarebbe più che sufficiente.

CONTENUTO E' STATO DISTRUTTO.
Non è che selezioni tutte le righe della Gridview e poi premi delete?
Cosa intendi per "DISTRUTTO"?


Una tesi fatta nel 2006 per il Carlo Mondino di Pavia (Ospedale 
Universitario di Ricerca) lavorava su un database Access.
E' detto tutto.
Quindi mi meraviglio io stesso di questo evento.
Io segnalo solo il fatto.

 tu non riesca a salvarci un record da 
vb.net
 fa ride...
Ti sei perso qualcosa ? Io non stavo tentando di 'salvare' o 'updatare' 
niente. Stavo solo 'leggendo'.


sono tonto ma non fino a quel punto  :-)))
In ogni modo, ho messo l'attributo 'Read only' sulla Data Grid View.


Ma lo scenario è in crucconia o qui da noi?
In ogni caso butta Access e usa SQL Server, almeno li quando non capisci che 
succede il profiler ti aiuta e di certo il contenuto delle tabelle non 
sparisce per motivi mistici.


Dipende per cosa lo hai usato.
Sapendo come funziona e i workaroud giusti (!!!???) non è niente male, fosse 
altro per le capacità di reportistica.


Cioè fammi capire, l'anello debole del sistema in questo caso sarebbe 
allora l'OleDB ?

"John"  wrote in message news:j2jjr3$qok$3...@speranza.aioe.org...


Comunque, se ti consola, ho replicato le azioni che hai descritto nel post 
precedete e non si distrugge niente.
Ne desumo che tu abbia problemi diversi nel tuo sistema che portano alla 
corruzione del DB.
Potresti mettere a disposizione su qualcosa tipo Skydrive il programma (sia 
sorgente che compilato) ed il db di test. Cosi magari si può dargli 
un'occhiata.

"John"  wrote in message news:j2jk4a$qok$4...@speranza.aioe.org...

None. Qui in Italia.


Probabilmente non hai ancora capito cosa sia OleDB. OleDB è una interfaccia 
di accesso generica ad un motore
di gestione dati. E' fondamentalmente composto da due livelli: il consumer 
OleDB (Ado, Ado.NET lo sono) ed il provider OleDB, ovvero l'intefaccia verso 
il motore di gestione dati.
Prima dei client nativi .NET per SQLServer si usava (e si usa) il provider 
OleDB per SQLServer.
Quello che tu chiami OleDB è JetEngine, sarebbe a dire il motore di gestione 
dati usato da Access.

 un'occhiata.
Il source è tutto qui sotto. Non ne esiste altro.
Il database lo si puo' creare a piacere. Io l'ho creato con Access.
source :
Public Class Form1
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load
         'TODO: This line of code loads data into the 
'PippoDataSet.Anagrafica' table. You can move, or remove it, as needed.
         Me.AnagraficaTableAdapter.Fill(Me.PippoDataSet.Anagrafica)
     End Sub
End Class

 niente. Stavo solo 'leggendo'.
peggio mi sento.
Mi pari il muratore che da la colpa alla cazzuola se il muro è storto.
PS: neppure la tua identificazione del capro espiatorio è giusta, al
limite se ci fosse un bug sarebbe di visual studio non di 
vb.net
.
Ma proprio al limite è.. ma tanto al limite.. talmente tanto al limite
che secondo me hai messo il DB nel progetto invece che nella cartella
dati e quello quando compili giustamente te lo sovrascrive o qualcosa
di simile.
Dai retta, passa a java, quello va su tutte le piattaforme, usa Java
dai retta.


Non ho niente contro java, ma ho un professore che è innamorato 
dell'ambiente
Visual Studio, ASP, .NET, VB et similia e non mi sognerò mai di 
consigliarli su che piattaforma
fare la mia tesi.  Voglio un 30 e lode...e non voglio rischiare.
:-))))

 :-))))
te l'ho detto, vai molto molto più tranquillo con java, fossi in te
non metterei a rischio la tesi e passerei subito a quell'ambiente di
sviluppo !
Ma scherzi ?
Metti che sviluppi il progetto e poi in fase di discussione della tesi
sul monitor esce un coniglio ??
No, no. Passa a Java subito subito, Eclipse poi è gratis e comunque
anch'esso si collega ad access.

 questo problema. Altrimenti me ne sarei giá accorto da un anno.
Si però questa volta lo hai messo anche nel progetto vero ? E' solo
una delle possibilità ma io scommetterei che di database ne hai uno
nel progetto vuoto ed uno in bin che popoli...
Certo potrebbe anche essere mille altre cose, ma tutte,
indiscutibilmente, senza alcun dubbio e certamente sono COLPA TUA,
questo potrebbe essere un buon inizio per una carriera di lavoro.


Ueh, hai paura della concorrenza??? :-)

 ha scritto nel messaggio 
news:j2jk0p$2r9$1...@tdi.cu.mi.it...

L'ho usato per una piccolissima applicazione,  trasferimenti di files (da un 
server  con un database vero, ossia Ibm  DB2 )
e stampe varie,  etichette, barcode, etc, etc,
Errori di run-time spesso e volentieri e soprattutto  incomprensibili crash 
del database....
qualche volta si risolveva, col tool di ricostruzione....altre no. Ovvero 
perdita di tutti i dati.
Gia' il fatto che il produttore avesse aggiunto un tool di ricostruzione
la dice lunga ...
Poi,  il fatto che fosse compatibile con quel SUPER cesso che era Windows 95 
la dice
ancor piu' lunga....
ciao
fm


Guarda qui :
estratto da
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k(VS.DATA.LOCALCONNECTIONCONVERTER)%3bk(TargetFrameworkMoniker-%22.NET
FRAMEWORK%2cVERSION%3dV4.0%22)&rd=true
--------
Copy to Output Directory setting
Behavior
Copy if newer (default for .sdf files)
The database file is copied from the project directory to the bin 
directory the first time the project is built. Every subsequent time you 
build the project, the Date Modified property of the files is compared. 
If the file in the project folder is newer, it is copied to the bin 
folder, replacing the file that is currently there. If the file in the 
bin folder is newer, no files are copied. This setting persists any 
changes made to the data during run time, meaning that every time you 
run your application and save changes to the data, those changes are 
visible the next time you run your application.
*****
Caution	This option is not recommended for .mdb or .mdf files.
*******
  The database file can change even when no changes are made to the 
data. Simply opening a connection (for example, expanding the Tables 
node in Server Explorer) on a data file can mark it as newer. Because of 
this unpredictable behavior, we recommended that you do not use this 
option for .mdb or .mdf files.
-----------
Quindi molto probabilmente sono incappato in questa 'trappola'.
Ma purtropppo, mi dispiace, ma PERCHE' uno deve andarsi a leggere tutta 
la letteratura mondiale, prima di poter azzardare una semplice lettura 
di un database, altrimenti rischia di cancellarlo ??
VI sembra normale ?
Io non so cosa pensate voi, ma una ambiente che si comporta cosě, non č 
assolutamente FOOL PROOF.
Mi dispiace.  in una commissione per decidere su una piattaforma, non ha 
il mio voto !
John.

> Ueh, hai paura della concorrenza??? :-)
ssshhhhh.... zitto zitto che lo convinco...

 anch'esso si collega ad access.
Ne parlerò col prof. Ma penso che lui insista nel voler usare Visual 
Studio o similare.


Vabbe', l'equivalente del recupera & compatta di Access lo trovi anche su 
SQL Server & C se per quello, certo che la frequenza di utilizzo non è 
minimanente paragonabile, ma per dire che per principio non è un'opzione 
così assurda.
Il problema di Access è la condivisione dei dati su enne postazioni quando 
il "servizio" di rdbms è postazione per postazione e non solo sui dati 
condivisi, e il supporto nullo alle transazioni, compreso il log.
Ma se lo inizi ad usare solo come front-end e reportistica con la parte dati 
attaccata magari a SQL, escono fuori anche belle applicazioni, non di moda, 
ma comunque robuste e ben funzionanti.


Senzaltro l'unico 'agente' di tutto sono io. non c'è dubbio.
Il fatto però sta *quale grado di scemenza* puo' permettermi un sistema 
di sviluppo senza cancellarmi un database.
Grazie ad un link (di RMX su Visual-Basic NG) ho letto sulla ISDN la 
'trappola' in ci sono probabilmente incappato.
Ebbene. questo non dovrebbe succedere in un ambiente di sviluppo 'sicuro 
al 100%'.
Non si deve forzatamente leggere tutta la letteratura mondiale per poter 
fare un programma (tra l'altro senza scrivere codice, ma solo usando i 
tools dell'IDE cliccando sul mouse) che non rischia di cancellare un 
database.
E' come pretendere che un medico, prima di poter andare a curare i 
malati, debba sapere  TUTTO quello che scrive la letteratura mondiale, e 
l'ultima versione updatata.
Stai fresco. Saremmo senza medici.
Guardati il capitolo su cui appare questa 'proprietà'
E' UNACOSA SCONSIGLIATA PER I DATABASE ACCESS (.mdb che sono poi la 
maggioranza)  E LA METTONO DI DEFAULT ??? ma siamo matti ???
No. Io rimango della mia opinione : VB .NET + Access
non è una combinazione 'Fool Proof'. Sorry.


non voglio fare il saccente e se ho dato quest'impressione me ne scuso, 
ma mi sembra di vedere ME qualche anno fa (la colpa č sempre NON mia), 
quando invece di solito la colpa č data dalla poca esperienza e saccenza.
Ciao


  mi sono allontanato dall'ambiente MS dai tempi di VB6 ma stranamente 
mi tocca quotarti :)

 Probabilmente un sano SQLServer Express sarebbe piů che sufficiente.
Sě, ma ovviamente nello scenario in cui potrebbe anche usare Access (o 
comunque abbastanza simile).
-- 
ale
http://ale.riolo.co.uk
 


CAMBIA

 mouse ?
di solito ne basta una :P
scherzi a parte, lo strumento non lo conosco quindi non sono in grado 
nemmeno di fare ipotesi. magari chissà, essendo un database su file 
anche uno stupido bug sul driver lo può corrompere. prova ad andarci con 
un altro sistema.

 'trappola' in ci sono probabilmente incappato.
Ma trappola di che ?
il link è esattamente il problema che ti ho descritto pochi post sopra
(How to: Manage Local Data Files in Your Project).
Scusami tanto ma se non sai neppure dove mettere i tuoi file di DB e
con che proprietà forse è meglio che i tuoi form li fai con ACCESS.
Access, usa Access da solo, quello si è "Fool Proof" ed è anche molto
più veloce nello sviluppo e ci puoi fare tutto anche le stampe,
funziona sempre, non c'è installazione, ci puoi mettere i bottoni
anche quelli grossi e se cambi il DB lui se ne accorge da solo.
Secondo me le scelte sono due, o access o java con Eclipse, ma in ogni
caso STAI LONTANO DA VISUAL STUDIO, è assolutamente controproducente.

 andare.
No, Access non può andare se sopra ci sono i nomi dei pazienti. In
Italia ci sono delle leggi sulla privacy abbastanza stringenti ed un
db che può essere copiato ed incollato e a cui le macchine client
devono accedere fisicamente, senza logo degli accessi ecc.. non può
essere usato in un ospedale.


Nulla.  Ma io non sono il rettore dell'università o il direttore 
dell'istituto.
Comunque io rimango della mia opinione che un ambiente di sviluppo che 
si rispetti, aperto a TUTTI, anche ai principianti, che quindi 
'smanettano' per imparare,  per conoscerlo, per familiarizzare, e che 
possano distruggere un database SENZA SCRIVERE UNA LINEA DI CODICE, ma 
solamente smanettando col mouse, solamente perchè l'hanno messo nel 
directory di svilupppo invece che in un altro directory,
ha una 'security standard' che fa ridere i polli.
Poi ognuno è libero delle sue opinioni.


Perchè dovrebbe essere così ?
Visual Studio lo insegnano all'Università, quindi con studenti 
programmatori 'in erba' che 'smanettano' e sperimentano per conoscerlo.
Perchè dovrebbe essere uno strumento 'da usare con cautela' come un 
farmaco pericoloso ?

 farmaco pericoloso ?
Ma SCHERZI ?! Visual studio è pericolosissimo, tu pensa che bastano
poche righe di codice ed è in grado di distruggerti anche il sistema
operativo.
Dovresti assolutamente abbandonarlo e passare a strumenti più sicuri
come JAVA, che ha un editor molto bello, si chiama 
www.eclipse.org
 ed
è simile a visual studio, si connette ad access e fa tutto tutto come
vb.net
.
Poi è multipiattaforma e gratis anche in versione professionale !!


robuste e funzionanti con A-cess?
ROTFL
ciao
fm

 si puo' rischiare di lavorare professionalmente in un ambiente simile ??
I bug nativi esistono, ma questo mi sembra un elefante più che una
cimice.
Un lavoro professionale esige che uno si studi bene i tool che sceglie
*prima* di usarli.

 WPF ....


Bene. Tutte queste cose valle a raccontare al docente di Informatica 
Medica.
Io non posso cambiare le cose   :-)))

"Equinozio"  wrote in message 
news:af0b16d7-08f9-43a1...@k3g2000vbz.googlegroups.com...


La quasi totalità dei software per ambienti medici usa JetEngine :-)


Dipende. Se io faccio una lezione di 'computer' ai principianti, e 
spiego Windows, la prima cosa che faccio è di stare attenti a non 
premere mai il tasto 'cancella' della tastiera, oppure di puntare su un 
file e cliccare sulla voce 'delete'. MAI se non dopo averci pensato 
dieci volte.
Ma se un principiante, volendo conoscere più a fondo l'ambiente di 
sviluppo, SENZA SCRIVERE CODICE PROPRIO, si mette a scegliere i vari 
tools nella Toolbox e li mette sulla GUI, e poi, vuole generare 
semplicemente un link tra una tabella Access e una DataGridView, e 
questo funziona per due o tre volte e poi alla quarta vede che il 
contenuto del file è stato distrutto, cosa deve fare ?
Puoi dire ad un principiante di andarsi a leggete tutta la biblioteca 
MSDN, dove poi magari scopre che il file è meglio che non lo metta nel 
directory di sviluppo, altrimenti rischia una cosa simile ?
Ma scherziamo ?
Dove sta il limite della 'ragionevolezza' ??
Questo è proprio quello  che comunemente si chama 'robustezza' di un 
sistema (Fool Proof).

 sistema (Fool Proof).
Su questo posso essere d'accordo, ma questi sono tools che cercano di
fronteggiare e di offrire di tutto e di più. Ci manca solo che
facciano il caffè. Che nella realtà siano totalmente "fool proof" è
molto improbabile.
Tra l'altro l'opzione "killer" potrebbe essere benissimo definita
dentro al db Access, o potrebbe dipendere dal colloquio della
particolare versione di VS, Net, drivers, Access, Windows.
Non mi scorderò mai la porta seriale che funzionava usando l'apposito
cavo originale Asus da sk. madre Asus a connettore, ma non funzionava
usando un cavo+connettore apparentemente del tutto identici ma non
originali Asus ....


Beato te che sei giovane e non ti ricordi i tempi in cui le RAM 
Mitsubishi non andavano se erano inserite assieme ad altre RAM Texas 
Instruments.... Tutto poteva essere mischiato come si voleva, ma le 
Mitsubishi sopportavano solo Mitsubishi come 'compagne' di slot.
Eh si... giovinezza giovinezza....

 viretto che ti obbliga a reinstallare il sistema.... :-(((((  )
se scarichi e usi solo zip file che contengono movies non vedo come
potresti prendere virus..
da un' occhiata qui
http://www.heroturko.com/index.php?do=search&subaction=search&story=appdev+learning+program
http://www.heroturko.com/index.php?do=search&subaction=search&story=appdev+visual+studio
http://www.heroturko.com/index.php?do=search&subaction=search&story=appdev
http://www.heroturko.com/index.php?do=search&subaction=search&story=appdev+sql+server
http://www.heroturko.com/index.php?do=search&subaction=search&story=appdev+wpf
http://www.heroturko.com/index.php?do=search&subaction=search&story=appdev+asp
Tornando al tuo problema: sbagli quando ti ostini a dare la colpa a
Visual Studio. Visual Studio ha dei tool di generazione di codice
pensati per pemettere a chi sa cosa sta facendo di farlo piu'
velocemente, non per facilitare la vita  a chi vuole arraffazzonare
una tesi senza sbattersi piu' di tanto e senza capire una beneamata
fava di quello che sta facendo. Non e' uno strumento per niubbi, e' un
IDE altamente sofisticata pensata per essere usata da programmatori
preparati che sanno quello stanno facendo. Come tutti gli strumenti
poi, puo' essere abusato. Mi ricordo del caso di un "programmatore"
che era addirittura certificato su MS ASP cacciato miseramente perche'
era solo abile nel maneggiare Visual Studio, ma senza capire quasi
nulla di quello che faceva, e senza uno straccio di basi di
programmazione ad oggetti. Faceva tutto " a scimmietta".
Se poi sei un niubbo non e' proibito utilizzarlo ovviamente, ci puoi
giocare, ci puoi sperimentare mentre impari, ma sinceramente e'
ridicolo incazzarsi perche' non fa quello che vuoi tu solo perche'
"non ho scritto codice, ha fatto tutto lui", o perche' non so dove
mettere i file che utilizzo nel progetto.


Lascia stare i "consigli" di quel poveretto..  Visual Studio e  .NET
va benissimo, come va benissimo Eclipse e Java.
Tra l' altro sono ambienti e stili di programmazione molto simili. La
scelta e' dettata da altre considerazioni, come ti ho gia' detto...
tipo con quale tecnologia sei piu' familiare, o in che ambiente (lunux/
unix, multipiattaforma, o  win only)
O i costi di licenza. Oppure il fatto che con VS hai un "workflow"
piu' "streamlined" (una volta che sai quello che stai facendo)  che
con Java, ma con Java hai la possibilita' di controllare un po' piu'
in profondita' quello che fai.
Come ultima cosa ci sono i "motivi idelogici". .NET e' proprieta di
una mega corporation come MS, cosa che decisamente puo' non piacere.
Java fino a poco tempo fa , nonostante appartenesse a Sun, era piu'
"community driven".. quasi un progetto open source... ora pero' che
appartiene a Oracle le cose cambiano parecchio...

 preparati che sanno quello stanno facendo.
No. Qui mi oppongo. Un tool che da una parte ti permette con quattro 
clic di collegare un database access a una GUI e CI RIESCI al primo 
tentativo, non puo' poi distruggermi il contenuto del database dopo 
quattro o cinque run per un evento oscuro, ignoto, che si scopre 
solamente leggendo l'ISDN.
Questo non lo accetto.
Ognuno puo' avere la sua opinione su questo punto. Ma deve essere chiaro
dall'inizio il grado di complessità alla quale vai incontro.
E' come in Texas dove le pistole si possono comprare al supermercato,
e poi ci si lamenta che un diciottenne va ascuola e spara contro i 
professori.
O le cose si rendono facili fino in fondo o si fanno complicate fin 
dall'inizio. Così uno si sa regolare e si mette a studiare tutti  i 
manuali prima di azzardarsi a 'smanettarte'.

osare a smanettare ed imparare ?
Guarda che Visual Studio ti ha pure avvertito della cosa con una message 
dialog con su scritto:
"The connection you selected uses a local data file that is not in the
current project. Would you like to copy the file to your project and
modify the connection?
If you copy the data file to your project, it will be copied to the
project's output directory each time you run the application. Press F1
for information on controlling this behavior".
Se tu  non leggi non è colpa sua :-)

 sistema (Fool Proof).
-- 
ViLco
Let the liquor do the thinking 

 Eh si... giovinezza giovinezza....
Grazie del giovane, visto che ho passato il mezzo secolo :-)

 dall'inizio il grado di complessità alla quale vai incontro.
ok, qualche chiarimento :
- visual studio tratta tutti i file alla stessa maniera, se li metti
nel project lui li rilascia nella bin. Non è che devi leggere MSDN,
devi leggere l'introduzione.
- I DB vanno in una cartella "data" che puoi aggiungere con il tasto
destro, non devi leggere niente, basta guardare i filmatini su 
asp.net
"come collegarsi ad access" e stanno sull'introduzione di qualunque
manuale
- Non devi mettere niente in bin, questo è semplice chiaro, sempre
scritto nell'introduzione di cui sopra, è la directory di compilazione
e rilascio, ce li mette lui i file o devi sapere cosa stai facendo
- siccome esistono un sacco di programmatori che aprono, cliccano e
poi parlano anche va ricordato che VS non ha un comportamento strano
che fa ogni tanto, no, fa proprio così sempre ogni volta.
- Se non lo sai e in fase di sviluppo ti sovrascrive un file... PACE,
OK, IMPARA, NON E' SUCCESSO NIENTE, perché appunto siamo in un
ambiente di sviluppo e saranno copie o o file di test.
- In produzione non si usa Visual Studio, non si compila, si rilascia
il programma, non potrà mai succedere niente.
- Il fatto che tu clicchi o non clicchi o ti fai comporre del codice è
indifferente, se fai un progetto anche che non fa niente, lui
sovrascriverà il file, è fatto così.
SE NON SAI COSA è LA DIRECTORY BIN, COME SI USA, E PERCHE' ESISTE VUOL
DIRE CHE NON HAI LETTO NEPPURE UN LIBRETTO DELLA JACKSON, NEPPURE I
VIDEO INTRODUTTIVI, NON HAI STUDIATO NIENTE, NON SAI COSA FA QUANDO
COMPILA, NIENTE DI NIENTE.

 essere usato in un ospedale.
Spero tu abbia ragione (non bazzico la RI per lavoro da molti anni ormai), 
ma hai notizia di qualcuno che sia finito in tribunale per aver violato tale 
leggi?
Ad ogni modo, John se non sbaglio dovrebbe essere in Germania ...
-- 
ale
http://ale.riolo.co.uk
 


No. John è ancora vivo e vegeto (grazie al cielo) e già da due anni e 
mezzo in Italia e sta facendo una tesi in ambiente 
ospedaliero/Universitario.
E' verissimo che i dati ospedalieri sono molto curati e protetti, sia 
che risiedano su Accewss o qualche altro database.
Non si puo' accedere facilmente ad essi. Bisogna avere dei permessi 
speciali.
Infatti il database che mi è sparito non era affatto di pazienti veri, 
ma un database che avevo costruito io, per test, con dati verosimili, ma 
inventati.
Questo tuttavia non diminuisce la mia incazzatura riguardo al 
comportamento del Visual Studio.
Spero comunque di finire presto la tesi e dedicare il mio tempo a 
divertirmi con altre cose.

 violato tale leggi?
per la violazione della privacy si procede per querela di parte e casi 
di infermieri/medici denunciati per aver rivelato notizie sulla salute 
di pazienti a persone non autorizzate ce ne sono.

 manuali prima di azzardarsi a 'smanettarte'.
Tu confondi facile con "veloce". VS non e' pensato per rendere
"facile" la programmazione. Non come lo intendi tu (schiacciando tasti
alla rinfusa per vedere che effetto fa..) E' pensato per togliere al
programmatore la menata di scrivere la parte di codice che e'
"boilerplate", cioe' quella parte ripetitiva di framework che uno si
dovrebbe noiosamente riscrivere ogni volta uguale o molto simile. E
non bisogna studiarsi "tutti i manuali", basta un libro ben scritto
sulla tecnologia che vai ad utilizzare. Infine nulla proibisce di
smanettare, ma proprio perche' sai che stai smanettando se hai un
minimo di buon senso ti fai un bel backup dei dati che sai ti potresti
fulminare da un momento all' altro.

 speciali.
non è questo il punto.
la gestione dei dati sensibili richiede come minimo che le credenziali 
di accesso siano personali e gli accessi siano tracciati. un database 
access non lo permette, tutto qua.

 applicazioni, non di moda, ma comunque robuste e ben funzionanti.
concordo. come front-end (magari i dati stanno su SQLserver) e' ottimo. 

 access non lo permette, tutto qua.
Vuol dire che la legge prescrive che il prodotto database vero e
proprio deve avere queste caratteristiche, o piuttosto fa riferimento
al prodotto software nel suo complesso (db+altro)?
Non penso sia molto difficile aggiungere quelle caratteristiche
esternamente ad Access.
E poi db come SQL server express o Oracle express le hanno? Ho qualche
dubbio.

 dubbio.
sql server express, ad esempio, mi risulta supporti a pieno 
l'autenticazione windows, in ogni caso se ti servono caratteristiche 
della versione enterprise vuol dire che devi prendere la versione 
enterprise.


Anche in Access � possibile profilare le login per l'accesso ai dati, e 
aggiungere anche l'audit � facile.
Non credo che questo aspetto sia bloccante quindi.

 Non credo che questo aspetto sia bloccante quindi.
Scusa come fai a dire ad access di loggare tutti gli accessi, eventi e
tentativi di accesso non autorizzato ?
Oltretutto il problema è che il DB è sostanzialmente un file fisico
esposto in sharing ai client.. come fai a sapere se uno di quei client
ti scarica l'intero mdb ? O se un amministratore di rete te lo scarica
o se uno sviluppatore lo fa.
Non metto in dubbio che "si potrebbe fare" anche con Access, ma io un
documento programmatico non te lo firmerei se l'applicazione usa
Access, non mi prenderei mai la responsabilità (e considera che siamo
nel mio campo, non parlo per sentito dire).

 Non credo che questo aspetto sia bloccante quindi.
l'aspetto bloccante è che all'utente tu devi dare *comunque* permessi di 
accesso al file mdb su file system, cosa che espone al rischio evidente 
che l'utente se lo possa prelevare e/o armeggiare a piacimento aggirando 
le policy. senza parlare poi della crittografia.


Vero, a questo non ci avevo pensato.
Ma se metti la soluzione su un terminal server hai risolto... :-)


Mascherina con codice dietro fatta sopra un gruppo di lavoro?


Premesso che penso che usare Access in campo di dati sensibili sia 
quantomeno abberrante come idea, non si può risolvere la cosa esportando 
Access tramite sorgenti odbc?
Quando nel protozoico lavoravo nel campo assicurativo mi pare avessimo 
risolto così un problema simile.
M
-- 
I fatti mi cosano

 Mascherina con codice dietro fatta sopra un gruppo di lavoro?
La soluzione tirata per i capelli si trova sempre, ma io non te lo
firmerei. Anche perché poi lo voglio vedere quel perito del giudice
quando legge che i dati erano salvati in un file Access che relazione
fa.
E' sempre il vecchio detto, non succede mai niente, ma se succede devi
dimostrare di aver preso tutte le contromisure per prevenire la fuga
di dati, allora perché sbattersi di più se c'è sqlserver ?


Allora, giusto martedì di avrò una riunione con i rappresentanti dei 
servizi informatici di ospedale. I quali sono in conflitto coi servizi 
informatici di università (le cose non dovrebbero essere così ma non le 
ho inventate io). Per cui di da al caso che i medici abbiano due 
computer sul desk, uno collegato alla rete di ospedale, l'altro alla 
rete universitaria.
Succede normalmente che per delle piccole statistiche gli istituti si 
creano database propri (in Access) e fanno le statistiche su quelli.
Però facendo così c'è una enorme ridondanza di dati, se tutti gli 
istituti del dipartimento fanno i cazzi propri, ed hanno dati che sono 
moltissimo correlati tra loro, specialmente se si vuole studiare 
l'andamento di certe patologie, che sono connesse tra loro.
Se si vuole fare del 'data mining' serio per ricerca scientifica, 
secondo me si taglierebbe la testa al toro ottenendo delle copie dai 
servizi informatici di ospedale copiando/esportando i database (oppure i 
risultati SQL) che risiedono su sistemi professionali enormi, già 
collaudati e contengono tutto il percorso clinico del paziente, 
dall'ammissione al pronto soccorso fino alla dimissione) e 
'anonimizzandoli' cioè oscurando magari con XXXXXX,, YYYYY etc. i campi 
dei dati anagrafici (nome cognome, codice fiscale).
A quel punto si possono fare tutte le ricerche che si vuole senza problemi.
Nella prossima riunione proporrò proprio questo.

nel mio campo, non parlo per sentito dire).
Considerando che la quasi totalità degli applicativi medici che gestiscono 
dati sensibili usano JetEngine pare che le tue preoccupazioni risultino 
infondate :-)

policy. senza parlare poi della crittografia.
Quanti applicativi che girano RDBMS acclamati come Oracle, SQLServer o DB2 
che conosci usano i livelli di permission offerti dai rispettivi RDBMS? :-)


Che tradotto immagino vuol dire mettere le tabelle su SQL Server e tenere in 
Access le tabelle collegate.
Cosa appunto fatto da vari sw che per l'appunto usano Access alla fine solo 
come front-end e reportistica.
E funziona fra l'altro!


Si si per carit� era per parlare, uso sql server ad anni ormai e non 
tornerei mai indietro, sia come robustezza sui dati, sia come godibilit� 
nello sviluppo e tuning della parte che ci gira sopra.

 infondate :-)
Si, è anche pieno di gente che non paga le tasse, ruba o si fa i suoi
affaracci sulle spalle dei poveracci. Io però cerco di lavorare dove
si rispetta la legge ed a mia volta cerco di farlo, sarà per quello
che raramente ho avuto problemi con i clienti.
PS: tutti possono fare tutto, ma quando poi ti fanno un assessment sul
software o c'è una contestazione o un auditing a seguito di una lite o
perché vuole entrare un'altro fornitore la figura da peracottaro ce la
fai te, e io voglio avere il culo coperto visto che culo e faccia sono
i miei.
Quando invece sono i tuoi puoi fare quel che preferisci, puoi usare
anche i file di testo in webdav pubblico per me...

i miei.
Quindi immagino che le tue appliazioni facciano estensivo uso dei meccanismi 
di security e permission offerti da SQLServer. Te lo chiedo perchè nella mia 
quasi esperienza (per la cronaca ho fatto tutte la beta di SQLServer dalla 
4.2 a Denali) le applicazioni sviluppate in Italia che ne fanno uso (della 
security intendo) non ne ho viste molte. La maggior parte non usa manco 
l'autenticazione integrata e tantissime usano un solo utente, sa.

 l'autenticazione integrata e tantissime usano un solo utente, sa.
Mai usato sa per gli applicativi (che hanno diversi livelli di
security, di DB, di SO, applicativa, di framework ..), la pwd di SA ce
l'ha l'SA che la cambia periodicamente, gli sviluppatori quella di
sviluppo, l'applicativo che fa stampe è in sola lettura senza exec
ecc. Solitamente faccio applicativi web quindi uso un utente solo per
connettermi da applicativo e poi filtro i dati e le funzioni a livello
applicativo ma l'utente in questione ha i diritti giusti e sulle
tabelle giuste non di più.
Se devi esporre i dati direttamente la mappatura fine sugli oggetti si
realizza bene con activedirectory (ex i fogli excel che si connettono
direttamente a sql e scaricano dati ) ed ovviamente hanno grant solo
sulle tabelle (disaccoppianti) e le stored che devono vedere.

 RDBMS? :-)
con diverse modalità e diversi pattern direi tutti.


Questa è una delle possibilità. All'epoca usavo un paio di sorgenti ODBC 
che mi esponevano delle viste provenienti dal db Oracle. Poi però _mi 
pare_ di aver esportato delle tabelle di Access tramite odbc per 
utilizzarle con un programma GUI in java che avevo scritto per gestire 
delle stampe.
La cosa risale al protozoico come ho detto, quindi passibile di essere 
frutto della memoria che fa cilecca.
Ad ogni modo se io fossi l'OP opterei quantomeno per un RDBMS vero come 
ad es postgresql per metterlo in comunicazione con VB$qualcosa tramite 
ODBC.
Se parte da zero e le sorgenti dati sono cmq così tanto frammentarie 
male non gliene fa. Inoltre dubito che Access in qualche modo riesca sul 
serio a velocizzargli il lavoro.


 access non lo permette, tutto qua.
No, non è così semplice. La legge richiede l'esistenza di UN sistema
di autenticazione e autorizzazione, non che ce ne sia uno per ogni
applicativo esistente. In pratica, in ogni rete informatica dove c'e'
un AD dal punto di vista dei requisiti di legge minimi sei già a
posto, puoi usare access o quello che ti pare. Se poi sia *opportuno*
usarlo è tutto un altro paio di maniche...
bye!

 di autenticazione e autorizzazione, non che ce ne sia uno per ogni
La legge da delle indicazioni minime, ma prescrive che tu abbia fatto
tutto il necessario per prevenire il furto dei dati, per proteggerli.
In caso di contestazione cosa pensi che scriverà il perito del giudice
di un sistema dove il database (oltretutto sconsigliato per quel
genere di utilizzo) è accessibile su cartella condivisa da tutti i
client ?



beh è quello che più o meno dico io, non ho detto che ogni applicativo
debba avere il proprio sistema di autenticazione/autorizzazione.
diciamo che io mi spingo un po' oltre nella valutazione e più che
parlare di opportunità parlo di applicabilità. cioè il fatto che ci
sia un sistema di autenticazione/autorizzazione nella rete ma non sia
nella pratica applicabile ad un determinato repository di dati
sensibili a mio avviso pone il problema di rispetto dei requisiti di
legge.

 enterprise.
Appunto. Alla fine risulta che, se si vuole ottemperare alle norme, è
necessario adottare prodotti "enterprise" dal costo di svariati
migliaia di euro, come minimo.
Questo volendo evitarsi i "mal di testa" di implementare da soli le
caratteristiche mancanti, usando  prodotti gratuiti tipo versioni
express di Oracle e Sql server, Firebird (forse pure Postgresql e
Mysql).
Mi sembra un aspetto da sottolineare, con la matita rossa.

 Oltretutto il problema è che il DB è sostanzialmente un file fisico
Se non sbaglio è pari pari la stessa cosa per Sql server, Oracle non
ricordo.

 legge.
per definizione, un sistema di autorizzazione di rete come AD è
applicabile per tutto ciò che è ospitato nella rete in questione, sia
esso un server o un file mdb. Se poi sul file ci sono diritti
impostati a "everyone" vuol dire che è stato fatto un errore di
configurazione, ma non che il sistema di per sè non sia sufficiente ad
ottemperare agli obblighi di legge. Purtroppo il "dominio" lessicale e
dispositivo della legge e quello dell'informatica sono molto distanti
e non è facile "sovrapporli" efficacemente. L'interpretazione delle
norme che dai te è molto diffusa tra gli informatici, ma è sbagliata:
seguendola si finisce per mettere in piedi sistemi mostruosamente
complicati con costi ingiustificati o per dare l'ingiusta impressione
che "bisogna" per forza lavorare nell'illegalità perchè la legge è
troppo draconiana.
A prescindere dal caso presente, del quale si sa troppo poco, e dal
fatto che sicuramente in ambito clinico c'e' troppa rilassatezza nei
confronti dei requisiti minimi di confidenzialità, si può comunque
lavorare in ragionevole compliance legale e con un rischio di
violazioni sufficientemente basso già con pochissimi accorgimenti e
senza necessariamente utilizzare sistemi molto complicati.
bye!

 migliaia di euro, come minimo.
Non è del tutto vero. SQLExpress a parte replica ed agent non gli
manca niente per servire una'aziendina.
La versione di Windows Small Business Edition è un windows server ed
ha un SQLServer completo in pancia da 25 account e te la tirano dietro
(500 euro credo).
SQL server poi è disponibile in una quantità di versioni anche più
economiche, ma la standard + 25 call costa 2.500 euro al pubblico e ci
mandi avanti un'azienda.
2.500 euro sono meno di 10 giorni/uomo di un consulente per
un'azienda, stiamo parlando di cifre bassissime : è come continuare a
tenere un'usciere in garage invece di installare un cancello
elettrico.
Oracle non conosco le offerte ma non credo si discosti molto.

 ricordo.
No, i database non "desktop" non espongono ai client i file ma una
interfaccia di comunicazione con autenticazione e criptazione.

 Mi sembra un aspetto da sottolineare, con la matita rossa.
Esperienza diretta con SQL Server 2005 Express: una 30ina di client, quasi
sempre connessi durante il giorno, alcuni con elaborazioni complesse
(pianificazione della produzione), task notturni, un pc con un programma in
costante esecuzione che pilota 10 linee di produzione, bilance e laser.
Il tutto gira senza intoppi ormai da piů di 5 anni. Job settimanale per il
check e lo shrink del DB, grazie alla procedure su
expressmaint.codeplex.com
L'unico intervento degno di nota č la migrazione su un server virtuale
dedicato pochi mesi fa, sempre versione 2005.
Al contrario Oracle, con un carico di lavoro non superiore, ogni tanto ha
avuto bisogno dell'intervento del sistemista dell'ERP in uso, causa blocchi
o dati corrotti.
PaF

 ?? Veramente si.
non ho scritto no :-)

 applicabile per tutto ciò che è ospitato nella rete in questione, sia
La legge prescrive anche che i fascicoli cartacei contenenti dati
sensibili siano tenuti sotto chiave.
Ma ovviamente anche un filo di spago con un lucchetto del diario del
"mio mini pony" è tecnicamente un lucchetto, scommetti però che stai
violando comunque la legge ?
E a dire il vero il lucchetto di plastica è comunque più sicuro di un
ambiente dove qualunque utente può portarsi via l'intero DB facendo
copia ed incolla.
A mio avviso (ma non sono il solo) sei in aperta violazione dello
spirito stesso della legge :
"I dati sensibili o giudiziari sono protetti contro l'accesso abusivo,
di cui all'art. 615-ter del codice penale, mediante l'utilizzo di
idonei strumenti elettronici."
visto che stai usando un database ed una architettura non idonea a
conservare informazioni sensibili come lo stato di salute dei
pazienti.
Poi, ognuno fa come vuole ed è responsabile di quel che fa, ci
mancherebbe.

 pazienti.
non riuscirai mai a convincermi che esistano strumenti informatici *di
per sè* non idonei. Non si può prescindere dal contesto e
dall'utilizzo che ne viene fatto.
bye!

 manca niente per servire una'aziendina.
Qundi ha il log degli accessi?

 interfaccia di comunicazione con autenticazione e criptazione.
Sì, l'accesso rispetto ad Access è certamente più sofisticato (e
complicato). L'organizzazione di memorizzazione è comunque su singoli
files.

 costante esecuzione che pilota 10 linee di produzione, bilance e laser.
Interessante, ma in verità facevo riferimento alle caratteristiche di
legge di cui parla rootkit, in particolare il log degli accessi.
Ma Sql express non ha più il limte di 4-5 client?

> Qundi ha il log degli accessi?
Certo, basta accenderlo.


Quel limite non c'è mai stato, fino alla versione 2000 oltre i 5 batch 
*concorrenti* c'era solo un taglio delle performance, ma già dal 2005 la 
"castrazione" è stata tolta.


Ops, che poi erano 8 e non 5.

qualunque misura risulta per definizione non idonea (altrimenti la
non è vero, se è avvenuta una violazione devi solo far vedere che hai
fatto il possibile per prevenirla, ma in quadro come quello che ti ho
disegnato la cosa è insostenibile.

"ispas"  wrote in message 
news:3ffb72af-b093-4cd0...@gz5g2000vbb.googlegroups.com...


L'audit vero e proprio esiste solo da 2008 in poi.
http://msdn.microsoft.com/en-us/library/dd392015(v=sql.100).aspx

 o dati corrotti.
Perché non č configurato/gestito come dovrebbe (Oracle richiede piů human 
brain power).
Lavoro con entrambi da una dozzina d'anni, visto tutte le versioni e le 
varie edizioni su svariate piattaforme.
-- 
ale
http://ale.riolo.co.uk
 

 fatto il possibile per prevenirla,
sto parlando di esperienze processuali, ottenute da un confronto con
legali. Si tratta di un classico caso di "probatio diabolica" e in
pratica la maggior parte dei giudici, che non sono tecnici
informatici, in una situazione del genere applicano la linea di
ragionamento che ti dicevo (se avessi davvero messo in pratica le
precauzioni idonee, non sarebbe successo) e quindi ti salvi solo se
puoi dimostrare che c'e' dolo da parte di un terzo, e a volte neanche
in quel caso per via della responsabilità oggettiva.
bye!

 è stato dato diritto ad accedere ad un DB con dei dati ai quali non
Il cuore dell'esempio non è la limitazione dell'accesso del
portantino, ma il fatto che si possa portare via tutto il database con
un copia ed incolla senza lasciare traccia e ciò sia inevitabile.
Ok, però tagliamo la testa al toro :  il garante richiede giustamente
che vengano loggati gli accessi ai dbms, e lo richiede
specificatamente, ed access non lo permette.

 specificatamente, ed access non lo permette.
questa è un'eccezione più valida di quella della "chiavina usb", e
anche se aggirabile, è sicuramente un motivo forte per non avvalersi
di Access per usi non meramente contabili o personali.
bye!

 di Access per usi non meramente contabili o personali.
aggirabile ???
E come ?
Gli accessi degli amministratori a Access non sono loggati ne
loggabili, come l'aggiri ?

 loggabili, come l'aggiri ?
puoi abilitare un trace su una connessione ODBC, o fregartene e in
caso di controllo sostenere che access non è un DBMS (il che non è del
tutto infondato) e che quindi non è soggetto alle disposizioni di
legge. Potresti pure spuntarla.
bye!

 legge. Potresti pure spuntarla.
La legge non parla di DBMS, quella parola la trovi solo nelle faq, la
legge parla di "archivi elettronici" : no, non la spunti.

 legge parla di "archivi elettronici" : no, non la spunti.
ok, allora se mi parli genericamente di "archivi elettronici" dimmi
perchè access non va bene e invece una cartella di un file system con
dentro qualche migliaio di documenti elettronici sì. E' un archivio
elettronico anche quella, ci sono dentro dati personali, e col cazzo
che logga qualcosa. Un foglio excel con dentro 1000 righe ognuna delle
quali contiene un test diagnostico eseguito su un paziente è un
archivio elettronico. Allora chiudiamo tutti i file server esistenti
negli ospedali e torniamo alle cartelle cartacee? Proibiamo anche
l'utilizzo di excel?
La ratio della legge mi pare evidente ed è quella di far sì che ove
vengano utilizzate certe categorie di strumenti informatici, e si
ricorra alla prestazione di personale non incaricato di gestione del
trattamento ma solo della gestione tecnica degli stessi strumenti, si
prendano misure adeguate alla complessità della rete e all'importanza
dei dati gestiti per poterne controllare l'operato.
Abbiamo capito che secondo te quella legge vuol dire che non si deve
più usare Access. Io, fermo restando che sono ovviamente d'accordo che
non si può fare un Hospital Management System con quel prodotto,
ritengo che sia una conclusione immotivata. Quando ci ritroveremo a
parti avverse a fare un CTU in tribunale sull'argomento, un giudice ci
dirà chi aveva ragione...
bye!

 "castrazione" è stata tolta.
Meglio ancora.

 dati personali dei pazienti, il che è sbagliato di per se.
Ecco, la separazione delle anagrafiche dai dati di dettaglio: una
tecnica relazionale, ma anche una misura fondamentale per la
sicurezza, direi.

 traccia.
Perchè senza lasciare traccia? Deve esistere il log accessi dentro al
db, ed allora esisterà il log accessi anche su directory con dati
sensibili, come l'MDB, documenti doc, ed altro.


Non per insistere ma rendere l'app disponibile solo su terminal server con 
avvio automatico e hai risolto... :-)

 avvio automatico e hai risolto... :-)
no, gli accessi di admin non sono loggati, quindi non è rispettato il
decreto

 dentro qualche migliaio di documenti elettronici sì. E' un archivio
fiiiiiii... è il rumore delle unghie sugli specchi !! Un archivio
Access è un database, è un Archivio elettronico, è un dbms (lo dice
pure wikipedia!) e non ha gli accessi degli amministratori loggati..
poi se voi dire che secondo te va bene uguale va bene.
Però, consentimi, fai il paio con tutti quelli che non vogliono
rispettare le leggi e si attaccano a tutto per non farlo, tipo quelli
che non vogliono pagare le tasse e si inventano i giri all'estero  o
quelli che sorpassano a destra perché non c'è il vigile, insomma la
parte peggiore di questo paese.


E perchč non sarebbero loggati visto che quando ti attacchi al terminal 
server indichi utente + pwd e l'utente viene appunto loggata nel registro 
degli eventi del SO?

 degli eventi del SO?
Perché il garante chiede che vengano loggati gli accessi al DBMS, al
database, ed è pure normale che sia così visto che un amministratore
si collega al terminal sever per milioni di motivi che esulano
l'amministrazione del database dei dati sensibili.
Ma questa discussione devono averla già fatta decine di volte, ed
infatti il garante l'ha pure scritto nelle faq : devono essere
registrati gli accessi al dbms ? Risposta SI. Non alla macchina, al
DBMS.
Poi puoi sostenere che Access non sia un DBMS, tanto si può dire tutto
ed il contrario di tutto, ma non è così non è vero Access è un dbms,
un archivio elettronico contente dati sensibili.
- Hanno fatto una legge per dire che i dati vanno protetti e volete
condividere il DB con tutti client con la possibilità di fregarsi il
DB con due click senza essere tracciati e dite che va bene uguale.
- Hanno fatto una legge che dice che gli accessi degli amministratore
devono essere loggati, e dite che basta la login al pc (o al desktop
remoto che non è altro che accedere in remoto ad una macchina che
cambia ?).
- Hanno specificato nelle FAQ che gli accessi al DBMS devono essere
registrati perché ce ne saranno stati chi sa quanti che hanno
sollevato le stesse vostre eccezioni per tenersi l'applicativo magari
in clipper o access 2.0 e vb 5.
Avete anche voi l'applicazione in Access o in DBF o foxpro e la volete
tenere ? Ok, va bene, tanto non c'è peggior sordo di chi non vuol
sentire, io mi sono stufato.


No no per carità, sono un po' di anni che lavoro solo con sql server, era 
per parlare.
Ma secondo me come detto sopra, ci potrebbe anche stare.

 tentativo, non puo' poi distruggermi il contenuto del database dopo 
Tu sei sicuro sicuro di avere mai salvato qualche cosa? perchè con il 
codice che hai riportato non vedo dove lo fai o manca qualche cosa su 
quello che hai postato.
-- 
Saluti a tutti
Uno da Nord Milano

 altro per le capacità di reportistica.
Esatto per fare etichette e report al volo non c'è niente , che io 
conosca, di più veloce.



Non esiste codice proprio. Ho usato UNICAMENTE il wizard per fare i 
collegamenti. Ma apparentemente ho tralasciato di specificare una 
proprietï¿œ del database, che si trova nella cartella bin/debug.
Ovviamente non era il database originale, era una copia. Comunque mi ha 
fatto incazzare lo stesso.
Io penso che una cosa di questo genere non debba proprio essere 
possibile che succeda. Va contro la filosofia fool-proofness.
Cioï¿œ secondo me il Wizard non ï¿œ stato disegnato fool-prof, perchï¿œ da una 
parte ti invoglia ad usarlo, data la sua facilitï¿œ di uso, e dall'altra 
ti 'accoltella alla schiena' cancellandoti il database su cui stai 
lavorando, non subito, ma dopo tre o quattro run, inspiegbilmente. Il 
che rende molto piï¿œ difficile capire la logica sottostante.
E' vero che tra i 'prompt' che devi rispondere, nascosto, c'ï¿œ anche un 
warning, con l'invito ad approfondire la cosa su MSDN. Ma il tuto ï¿œ 
fatto in modo tale che normalmente, uno (un principiante - il wizard ï¿œ 
fatto per i principianti, non per i superspecialisti) clicca su OK e va 
avanti.
Secondo me questo ï¿œ, ergonomicamente parlando, inconcepibile.
(Visto anche che questa metodica volevo consigliarla ad alcuni medici 
che volevano farsi delle statistichette privatamente, che che trovavo 
meglio che consigliare loro il Python o MatLab).
Questo mia visione delle cose ha causato una guerra di religione, coi 
'superguru' del VB .NET, dalla quale io ne sono uscito come lo scemo del 
villaggio.
Quindi ora mi sono stufato di parlare di questo argomento.

il problema posto cioè la cancellazione dei dati, facendo operazioni di base in access , senza che siano stati inseriti comandi di eliminazioni , cosi come posto è un po assurdo. 



che access sia in un certo senso un giocatolino e inadatto in ambiti che vanno oltre il singolo utente , specie per dati delicatissimi di un ospedale, non ci piove. 



però rimane il fatto che l'assurdo comportamento per quanto possa far schifo access, access quel genere di scherzo non lo fa, se lo farebbe anche in minima percentuale , di certo non sarebbe usato manco per memorizzare la rubrica personale che posso sempre ricostruire se perdo i dati.



Di applicativi fatti in access dove il gran numero è sicuramente tanti piccoli db , in tantissimi anni oramai , cè ne saranno a tonnellate, quindi statisticamente non è un problema della natura di access. 



questo è il punto di partenza. 



a cosa serve mettere dei paletti e considerazioni nel cercare di capire un problema ??



semplice andare a vedere altre dove viene generata la natura del problema.



IN POCHE PAROLE E' CHIARO che il problema non è access ma IL FILE SYSTEM dove gira, se da problemi il file system , o il sistema operativo perchè magari ha un virus perchè imputare ad access un comportamento terribile che di sua natura non fa e non indagare sul ambiente in cui lavora ??



probabilmente se su quella macchina girasse il super database che non fa perdere i dati, anche questo farebbe lo stesso comportamento se un virus va ad eliminare dei file o il disco ha dei problemi. 



il problema è a monte, usare access per un ospedale solo a pensarlo fa venire i brividi a chi legge, il problema è di architettura, anche se si usasse access come minimo serve un ambiente con dischi in raid , l'utente che usa access si può arrangiare con un lancio su supporto esterno di copia automatica ogni tot tempo.



un altro problema eventuale che in passato ho notato, è che se usato in modo condiviso banalmente aprendolo da altri computer perchè si è condiviso il disco , ecco che questo tipo di operazione può azzerare il file però poi diventa illeggibile e non mi sembra questo il caso esposto

.


 ...



Tu ti sei accorto di aver risposto a un post di quasi 5 anni fa, vero?



-- 

Ciao!

Luca