Discussione:
Access come servizio, ma caldamente sconsigliato.
(troppo vecchio per rispondere)
OneEDP
2009-09-10 08:32:48 UTC
Permalink
Obiettivo:
Ho bisogno che ogni 10 minuti circa, in modo hide (o al massimo visibile
come icona systray), parta l'esecuzione di un mde.

Se si verificano determinate condizioni devo assicurami:
1) l'mde diventa visibile e all'utente viene data la possibilità di gestire
l'interfaccia di access (quindi non più hide). Qui con un po' di API dovrei
farcela da solo.
2) l'mde è l'ultima esecuzione del giorno ovvero ogni pianificazione
successiva non deve essere mai più eseguita fino al giorno successivo

Bisogna assicurarsi anche che se l'esecuzione programmatica della stessa ci
mette più del tempo del previsto la pianificazione in scadenza non deve
essere eseguita.
Se invece l'mde è in crash o è bloccato per qualche ragione "dovrei"
eseguire un killprocess al termine di un tempo timeout a mia discrezione e
poi riprendere l'esecuzione dell'mde.

In pratica è assimilabile a un servizio. Ma personalmente eviterei questa
strada.
Ho ha disposizione solo l'IDE di VBA.
Operazioni Pianificate di Win XP non so se fanno al mio caso.
A voi i suggerimenti.
Grazie
Daniele
Sergio MAZZA
2009-09-10 09:27:09 UTC
Permalink
Post by OneEDP
Ho bisogno che ogni 10 minuti circa, in modo hide (o al massimo visibile
come icona systray), parta l'esecuzione di un mde.
1) l'mde diventa visibile e all'utente viene data la possibilità di
gestire l'interfaccia di access (quindi non più hide). Qui con un po' di
API dovrei farcela da solo.
2) l'mde è l'ultima esecuzione del giorno ovvero ogni pianificazione
successiva non deve essere mai più eseguita fino al giorno successivo
Bisogna assicurarsi anche che se l'esecuzione programmatica della stessa
ci mette più del tempo del previsto la pianificazione in scadenza non deve
essere eseguita.
Se invece l'mde è in crash o è bloccato per qualche ragione "dovrei"
eseguire un killprocess al termine di un tempo timeout a mia discrezione e
poi riprendere l'esecuzione dell'mde.
In pratica è assimilabile a un servizio. Ma personalmente eviterei questa
strada.
Ho ha disposizione solo l'IDE di VBA.
Operazioni Pianificate di Win XP non so se fanno al mio caso.
A voi i suggerimenti.
Grazie
Daniele
Cosa fa l'mde che non può fare uno script VBS/WSH?

Ciao.
--
Sergio MAZZA
OneEDP
2009-09-10 09:38:05 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
Ho bisogno che ogni 10 minuti circa, in modo hide (o al massimo
visibile come icona systray), parta l'esecuzione di un mde.
1) l'mde diventa visibile e all'utente viene data la possibilità di
gestire l'interfaccia di access (quindi non più hide). Qui con un
po' di API dovrei farcela da solo.
2) l'mde è l'ultima esecuzione del giorno ovvero ogni pianificazione
successiva non deve essere mai più eseguita fino al giorno successivo
Bisogna assicurarsi anche che se l'esecuzione programmatica della
stessa ci mette più del tempo del previsto la pianificazione in
scadenza non deve essere eseguita.
Se invece l'mde è in crash o è bloccato per qualche ragione "dovrei"
eseguire un killprocess al termine di un tempo timeout a mia
discrezione e poi riprendere l'esecuzione dell'mde.
In pratica è assimilabile a un servizio. Ma personalmente eviterei
questa strada.
Ho ha disposizione solo l'IDE di VBA.
Operazioni Pianificate di Win XP non so se fanno al mio caso.
A voi i suggerimenti.
Grazie
Daniele
Cosa fa l'mde che non può fare uno script VBS/WSH?
Ciao.
1) Ottenere un recordset di un server con connessione odbc utilizzando le
stesse credenziali di WinXP.
2) In base al contenuto di un riga o raramente più di una, decidere se
eseguire una serie di operazioni giornaliere
3) Resettarere le informazioni sul quel recordset, o al massimo eseguire uno
statement UPDATE con ADODB.Command al termine delle operazioni giornaliere
sempre con ODBC

Grazie
Daniele
Sergio MAZZA
2009-09-10 10:07:29 UTC
Permalink
Post by OneEDP
1) Ottenere un recordset di un server con connessione odbc utilizzando le
stesse credenziali di WinXP.
2) In base al contenuto di un riga o raramente più di una, decidere se
eseguire una serie di operazioni giornaliere
3) Resettarere le informazioni sul quel recordset, o al massimo eseguire
uno statement UPDATE con ADODB.Command al termine delle operazioni
giornaliere sempre con ODBC
Grazie
Daniele
Così in linea generale (connessione odbc e manipolazione dati) non mi sembra
impossibile; forse il problema potrebbe essere l'utilizzo delle credenziali
di WinXP.
Ma bisognerebbe capire in modo più dettagliato ogni passo...

Ciao.
--
Sergio MAZZA
OneEDP
2009-09-10 10:47:18 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
1) Ottenere un recordset di un server con connessione odbc
utilizzando le stesse credenziali di WinXP.
2) In base al contenuto di un riga o raramente più di una, decidere
se eseguire una serie di operazioni giornaliere
3) Resettarere le informazioni sul quel recordset, o al massimo
eseguire uno statement UPDATE con ADODB.Command al termine delle
operazioni giornaliere sempre con ODBC
Grazie
Daniele
Così in linea generale (connessione odbc e manipolazione dati) non mi
sembra impossibile; forse il problema potrebbe essere l'utilizzo
delle credenziali di WinXP.
Ma bisognerebbe capire in modo più dettagliato ogni passo...
Ciao.
Se è un problema potrei creare un account minimalista con user e password
noti a priori con accesso a un solo chiamamolo "recordset"
?
Sergio MAZZA
2009-09-10 12:00:34 UTC
Permalink
Post by OneEDP
Se è un problema potrei creare un account minimalista con user e password
noti a priori con accesso a un solo chiamamolo "recordset"
?
Non mi sono spiegato bene.
Intendevo dire che non ho capito/non mi è chiaro il perché per: Ottenere un
recordset di un server con connessione odbc utilizzando le stesse
credenziali di WinXP.
Ossia non mi è chiaro tutto il problema; ma a parte questa mia lacuna, se
provi a descrivere per punti i problemi da risolvere è probabile che per
ognuno si trovi una soluzione.

Ma forse intendi che la base dati è su un pc e per accederci devi avere
usr/pssw?
Puoi sempre, nello script, crearti una condivisione "al volo"(es. l'utilizzo
del NET USE o il metodo MapNetworkDrive (WSH)
http://msdn.microsoft.com/en-us/library/8kst88h6(VS.85).aspx) e poi
rimuoverla (gestendo anche gli errori).

Un punto di partenza potrebbero essere gli esempi nello Script Center:
http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=databases&f%5B1%5D.Type=SubCategory&f%5B1%5D.Value=activex

E la stringa di connessione:
http://www.connectionstrings.com/access#p88


Ciao.
--
Sergio MAZZA
OneEDP
2009-09-10 12:16:30 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
Se è un problema potrei creare un account minimalista con user e
password noti a priori con accesso a un solo chiamamolo "recordset"
?
Non mi sono spiegato bene.
Ottenere un recordset di un server con connessione odbc utilizzando
le stesse credenziali di WinXP.
Ossia non mi è chiaro tutto il problema; ma a parte questa mia
lacuna, se provi a descrivere per punti i problemi da risolvere è
probabile che per ognuno si trovi una soluzione.
Ma forse intendi che la base dati è su un pc e per accederci devi
avere usr/pssw?
Puoi sempre, nello script, crearti una condivisione "al volo"(es.
l'utilizzo del NET USE o il metodo MapNetworkDrive (WSH)
http://msdn.microsoft.com/en-us/library/8kst88h6(VS.85).aspx) e poi
rimuoverla (gestendo anche gli errori).
http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=databases&f%5B1%5D.Type=SubCategory&f%5B1%5D.Value=activex
http://www.connectionstrings.com/access#p88
Ciao.
Il server è un as400.
Per accedere utilizzo le credenziali di Win XP ed avere accesso al DB2 con
Access ADODB <-> MS Cursor Engine <-> IBM ODBC / OLE DB <-> DB2 mediante una
specifica connection string confezionata opzionalmente in (lettura,
scrittura, transazionale commit e rollback per intenderci)
La lettura di questi record servono al pianificatore per verificare se ci
sono condizioni tali da consentire l'ok alla partenza di una serie di
operazioni da eseguire solo e soltanto una volta al giorno
Al termine delle operazioni agli stessi record viene notificata la
conclusione delle operazioni mediante o il metodo recordset.update di adodb
o attraverso una update con il metodo adodb.command.execute. Preciso che non
è necessario che il recordset aperto rimanga connesso tutto il tempo si può
risvegliare remipostando set rst.Connection = ....

Il "servizio" quindi serve solo ad interrogare l'as400 per aver conferma se
eseguire o no operazioni.
Per comodità il "servizio" e l'esecutore delle varie operazioni potrebbero
risiedere nello stesso file... oppure decidere di tenere separati
l'interrogatore e l'esecutore.
Spero di essere stato chiaro
Grazie
Daniele
Sergio MAZZA
2009-09-10 12:49:46 UTC
Permalink
Post by OneEDP
Il server è un as400.
Per accedere utilizzo le credenziali di Win XP ed avere accesso al DB2 con
Access ADODB <-> MS Cursor Engine <-> IBM ODBC / OLE DB <-> DB2 mediante
una specifica connection string confezionata opzionalmente in (lettura,
scrittura, transazionale commit e rollback per intenderci)
La lettura di questi record servono al pianificatore per verificare se ci
sono condizioni tali da consentire l'ok alla partenza di una serie di
operazioni da eseguire solo e soltanto una volta al giorno
Al termine delle operazioni agli stessi record viene notificata la
conclusione delle operazioni mediante o il metodo recordset.update di
adodb o attraverso una update con il metodo adodb.command.execute. Preciso
che non è necessario che il recordset aperto rimanga connesso tutto il
tempo si può risvegliare remipostando set rst.Connection = ....
Il "servizio" quindi serve solo ad interrogare l'as400 per aver conferma
se eseguire o no operazioni.
Per comodità il "servizio" e l'esecutore delle varie operazioni potrebbero
risiedere nello stesso file... oppure decidere di tenere separati
l'interrogatore e l'esecutore.
Spero di essere stato chiaro
Grazie
Daniele
Argh...
Detto in parole povere; la stringa di connessione+istruzioni ADODB hai
provato a farle girare in un file VBS?

Ciao.
--
Sergio MAZZA
OneEDP
2009-09-10 12:56:35 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
Il server è un as400.
Per accedere utilizzo le credenziali di Win XP ed avere accesso al
DB2 con Access ADODB <-> MS Cursor Engine <-> IBM ODBC / OLE DB <->
DB2 mediante una specifica connection string confezionata
opzionalmente in (lettura, scrittura, transazionale commit e
rollback per intenderci) La lettura di questi record servono al
pianificatore per verificare
se ci sono condizioni tali da consentire l'ok alla partenza di una
serie di operazioni da eseguire solo e soltanto una volta al giorno
Al termine delle operazioni agli stessi record viene notificata la
conclusione delle operazioni mediante o il metodo recordset.update di
adodb o attraverso una update con il metodo adodb.command.execute.
Preciso che non è necessario che il recordset aperto rimanga
connesso tutto il tempo si può risvegliare remipostando set
rst.Connection = .... Il "servizio" quindi serve solo ad interrogare
l'as400 per aver
conferma se eseguire o no operazioni.
Per comodità il "servizio" e l'esecutore delle varie operazioni
potrebbero risiedere nello stesso file... oppure decidere di tenere
separati l'interrogatore e l'esecutore.
Spero di essere stato chiaro
Grazie
Daniele
Argh...
Detto in parole povere; la stringa di connessione+istruzioni ADODB hai
provato a farle girare in un file VBS?
Ciao.
Argh...hgrA
Forse stiamo perdendo di vista l'obiettivo...del primo post.
Per caso stai dando per scontato che devo far girare un vbs separato
dall'mde?
Non ho fatto una prova, ma penso che non ci siano problemi (a parte la
misera gestione errori e la mancanza di moduli di classe da me
preconfenzionati per questo tipo di interrogazioni, con eventi ecc. ecc.)
Effettivamente è la strada giusta lanciare un vbs?
Come si fa ad impedire che una volta che l'mde è in esecuzione o lo stesso
vbs è in esecuzione non debbano essere eseguite altre istanze?
Il nocciolo della questione è la pianificazione controllata dell'esecuzione
dell'mde, non quello che deve fare l'mde.
L'mde deve dire:
"Attenzione, son già in esecuzione non eseguirmi nuovamente" ogni 10 minuti
in hide oppure
"Attenzione, non eseguirmi più... per oggi. Domani è un altro giorno"
Daniele
Sergio MAZZA
2009-09-10 13:45:07 UTC
Permalink
Post by OneEDP
Argh...hgrA
Forse stiamo perdendo di vista l'obiettivo...del primo post.
Beh; non proprio, io faccio appello al: ma caldamente sconsigliato.
Post by OneEDP
Per caso stai dando per scontato che devo far girare un vbs separato
dall'mde?
Ies.
Post by OneEDP
Non ho fatto una prova, ma penso che non ci siano problemi (a parte la
misera gestione errori e la mancanza di moduli di classe da me
preconfenzionati per questo tipo di interrogazioni, con eventi ecc. ecc.)
Effettivamente è la strada giusta lanciare un vbs?
Non lo so; ma sicuramente quella più veloce e meno impegnativa come risorse
(mde+access). Oltre al fatto che potresti farlo girare da qualsiasi pc,
anche senza access installato.
Post by OneEDP
Come si fa ad impedire che una volta che l'mde è in esecuzione o lo stesso
vbs è in esecuzione non debbano essere eseguite altre istanze?
Ecco per questo ti chiedevo se è proprio necessario eseguire l'mde.
Il nocciolo della questione è in questo tuo: La lettura di questi record
servono al pianificatore per verificare se ci sono condizioni tali da
consentire l'ok alla partenza di una serie di
operazioni da eseguire solo e soltanto una volta al giorno.

Quali di queste "operazioni" non possone essere eseguite da uno script VBS?
Ovviamente esterno all'mde.
Post by OneEDP
Il nocciolo della questione è la pianificazione controllata
dell'esecuzione dell'mde, non quello che deve fare l'mde.
Io direi il contrario. La pianificazione/esecuzione la controlli in tanti
modi; sono la specificità delle operazioni che ti costringe ad utilizzare
uno o l'altro dei linguaggi/tecniche.
Post by OneEDP
"Attenzione, son già in esecuzione non eseguirmi nuovamente" ogni 10
minuti in hide oppure
"Attenzione, non eseguirmi più... per oggi. Domani è un altro giorno"
(es.) Se il tuo script VBS crea un file di testo:
SonoGiàInEsecuzioneNonMiRiEseguire.txt (e lo cancelli al termine o allo
scatenarsi di un errore); con una Dir che verifica l'esistenza blocchi la
seconda esecuzione.
Post by OneEDP
Daniele
Ciao.
--
Sergio MAZZA
OneEDP
2009-09-10 14:21:16 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
Argh...hgrA
Forse stiamo perdendo di vista l'obiettivo...del primo post.
Beh; non proprio, io faccio appello al: ma caldamente sconsigliato.
Post by OneEDP
Per caso stai dando per scontato che devo far girare un vbs separato
dall'mde?
Ies.
Post by OneEDP
Non ho fatto una prova, ma penso che non ci siano problemi (a parte
la misera gestione errori e la mancanza di moduli di classe da me
preconfenzionati per questo tipo di interrogazioni, con eventi ecc.
ecc.) Effettivamente è la strada giusta lanciare un vbs?
Non lo so; ma sicuramente quella più veloce e meno impegnativa come
risorse (mde+access). Oltre al fatto che potresti farlo girare da
qualsiasi pc, anche senza access installato.
Post by OneEDP
Come si fa ad impedire che una volta che l'mde è in esecuzione o lo
stesso vbs è in esecuzione non debbano essere eseguite altre istanze?
Ecco per questo ti chiedevo se è proprio necessario eseguire l'mde.
Il nocciolo della questione è in questo tuo: La lettura di questi
record servono al pianificatore per verificare se ci sono condizioni
tali da consentire l'ok alla partenza di una serie di
operazioni da eseguire solo e soltanto una volta al giorno.
Quali di queste "operazioni" non possone essere eseguite da uno
script VBS? Ovviamente esterno all'mde.
Post by OneEDP
Il nocciolo della questione è la pianificazione controllata
dell'esecuzione dell'mde, non quello che deve fare l'mde.
Io direi il contrario. La pianificazione/esecuzione la controlli in
tanti modi; sono la specificità delle operazioni che ti costringe ad
utilizzare uno o l'altro dei linguaggi/tecniche.
Post by OneEDP
"Attenzione, son già in esecuzione non eseguirmi nuovamente" ogni 10
minuti in hide oppure
"Attenzione, non eseguirmi più... per oggi. Domani è un altro giorno"
SonoGiàInEsecuzioneNonMiRiEseguire.txt (e lo cancelli al termine o
allo scatenarsi di un errore); con una Dir che verifica l'esistenza
blocchi la seconda esecuzione.
Post by OneEDP
Daniele
Ciao.
Non volevo annoiarti con quello che deve fare l'mde, ma a questo punto serve
a fare chiarezza.
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email, sccrun.dll
ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte business e
funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro anche tu
A tua disposizione
Sergio MAZZA
2009-09-10 15:08:38 UTC
Permalink
Post by OneEDP
Non volevo annoiarti con quello che deve fare l'mde, ma a questo punto
serve a fare chiarezza.
Annoiarmi? Tu magari se esagero con le domande.
Post by OneEDP
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email,
sccrun.dll ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte business e
funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro anche tu
A tua disposizione
Ok. Ok. Ma; vengono eseguite tutte al verificarsi della condizione?
Io non intendo sostituire tutto quel popò di lavoro con vbs ma isolare solo
la parte "isolabile":
es.
- accesso ai dati
- verifico se ci sono le condizioni per far partire le operazioni?
-- sì --> eseguo le "operazioni";
-- no --> chiudo il gas e vado via.

Forse semplifico troppo...

Ciao.
--
Sergio MAZZA
OneEDP
2009-09-10 15:44:45 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
Non volevo annoiarti con quello che deve fare l'mde, ma a questo
punto serve a fare chiarezza.
Annoiarmi? Tu magari se esagero con le domande.
Post by OneEDP
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email,
sccrun.dll ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte
business e funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro anche tu
A tua disposizione
Ok. Ok. Ma; vengono eseguite tutte al verificarsi della condizione?
Io non intendo sostituire tutto quel popò di lavoro con vbs ma
es.
- accesso ai dati
- verifico se ci sono le condizioni per far partire le operazioni?
-- sì --> eseguo le "operazioni";
-- no --> chiudo il gas e vado via.
Forse semplifico troppo...
La semplicità bisogna sempre raggiungerla.
Yes ogni dieci minuti se l'INTERROGATORE dà l'ok e tutto l'mde viene
eseguito non hidden e le operazioni possono opzionalmente essere presidiate
o menu da un utente esperto.
Però l'interrogatore potrebbe andare in timeout per molte ragioni e la
pianificazione in coda deve aspettare senza sovrapposizioni,
Forse l'isolabilee è l'interrogatore, ma mi piace poco.
Putroppo oltre al note pad ;-) (anzi l'ottimo PSPad su
http://www.pspad.com/it/) e all'IDE VBA non ho altro.
Grazie
Post by Sergio MAZZA
Ciao.
OneEDP
2009-09-10 15:49:45 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
Non volevo annoiarti con quello che deve fare l'mde, ma a questo
punto serve a fare chiarezza.
Annoiarmi? Tu magari se esagero con le domande.
Post by OneEDP
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email,
sccrun.dll ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte
business e funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro anche tu
A tua disposizione
Ok. Ok. Ma; vengono eseguite tutte al verificarsi della condizione?
Io non intendo sostituire tutto quel popò di lavoro con vbs ma
es.
- accesso ai dati
- verifico se ci sono le condizioni per far partire le operazioni?
-- sì --> eseguo le "operazioni";
-- no --> chiudo il gas e vado via.
Forse semplifico troppo...
Ciao.
Ciao ragazzi e meno ragazzi a domani
OneEDP
2009-09-11 08:26:49 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
Non volevo annoiarti con quello che deve fare l'mde, ma a questo
punto serve a fare chiarezza.
Annoiarmi? Tu magari se esagero con le domande.
Post by OneEDP
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email,
sccrun.dll ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte
business e funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro anche tu
A tua disposizione
Ok. Ok. Ma; vengono eseguite tutte al verificarsi della condizione?
Io non intendo sostituire tutto quel popò di lavoro con vbs ma
es.
- accesso ai dati
- verifico se ci sono le condizioni per far partire le operazioni?
-- sì --> eseguo le "operazioni";
-- no --> chiudo il gas e vado via.
Forse semplifico troppo...
Ciao.
A rieccomi
Sergio MAZZA
2009-09-11 10:02:10 UTC
Permalink
Post by OneEDP
A rieccomi
Non ho altre soluzioni; hai dei vincoli molto stretti e (ripeto) non so' se
è possibile (aridaje!) "tirare fuori" gran parte delle operazioni.
Altra possibilità; potrebbe essere quella di dividere (in altri mde) in
blocchi di operazioni il tuo mde. Ma non credo sia anche questa la via per
andare in paradiso...

Ciao.
--
Sergio MAZZA
OneEDP
2009-09-11 11:00:32 UTC
Permalink
Post by Sergio MAZZA
Post by OneEDP
A rieccomi
Non ho altre soluzioni; hai dei vincoli molto stretti e (ripeto) non
so' se è possibile (aridaje!) "tirare fuori" gran parte delle
operazioni. Altra possibilità; potrebbe essere quella di dividere (in
altri mde)
in blocchi di operazioni il tuo mde. Ma non credo sia anche questa la
via per andare in paradiso...
Ciao.
In ogni caso al di là di separare le operazione tra due mde o piuttosto tra
un mde e un vbs resta sempre il problema delle schedulazione hide e non hide
Operazione pianificate da linea di comando è in grado di darmi supporto?
Grazie
Per il paradiso invece credo che tutti abbiamo un biglietto di ingresso.
Bisogna stare attenti a non smarrirlo.
Ciao
Sergio MAZZA
2009-09-18 06:32:01 UTC
Permalink
Post by OneEDP
In ogni caso al di là di separare le operazione tra due mde o piuttosto
tra un mde e un vbs resta sempre il problema delle schedulazione hide e
non hide
Operazione pianificate da linea di comando è in grado di darmi supporto?
Su XP non credo; su Vista c'è l'opzione: "Nascosta".
Post by OneEDP
Grazie
Per il paradiso invece credo che tutti abbiamo un biglietto di ingresso.
Bisogna stare attenti a non smarrirlo.
E che non ci sia un overbooking...
Post by OneEDP
Ciao
Ciao.
--
Sergio MAZZA
Paolo opg
2009-09-10 15:16:21 UTC
Permalink
"OneEDP" <***@antispam> wrote in news:4aa90b7d$0$1097$***@reader3.news.tin.it:

[cut]
Post by OneEDP
Non volevo annoiarti con quello che deve fare l'mde, ma a questo punto
serve a fare chiarezza.
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email,
sccrun.dll ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte
business e funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro
anche tu A tua disposizione
dalle descrizioni che hai fatto, secondo me hai scelto lo strumento
sbagliato per l'esecuzione schedulata.

da quello che capisco, hai sviluppato un'interfaccia utente che svolge
compiti complessi, la vorresti lanciare ogni 10 minuti su una macchina
client e, in base ad alcune valutazioni fatte dall'interfaccia, decidere
se chiudere access oppure mostrare il tutto all'utente.

access non e' propriamente una piuma e lanciato ogni 10 minuti su un
client, lo ammazza, soprattutto se e' un client utilizzato e non
dedicato.
tanto piu' se, come indichi nel post iniziale, c'e' il rischio che
l'elaborazione impieghi piu' di 10 minuti.

con una situazione del genere, io se possibile sposterei almeno le
valutazioni sull'as e poi andrei a leggere l'esito delle valutazioni
direttamente dall'as, lanciando il mde sul client solo se necessario.


non so pero' se sia possibile farlo nel tuo caso...


se proprio sei alle cozze e il mde DEVE essere usato una soluzione
potrebbe essere:
- apertura del mde in modalita' esclusiva, cosi' eviti la doppia
esecuzione del tuo mde
- una volta lanciato, il tuo mde salva lo stato di avanzamento
elaborazioni da qualche parte (file d'appoggio?) ed elimina il file a
fine elaborazione
- un vbs/bathc/quelChePreferisci schedulato verifica se c'e' access in
esecuzione e controlla il contenuto del file d'appoggio di cui sopra, per
verificare se c'e' il tuo mde in esecuzione e se sta effettivamente
facendo qualcosa oppure e' inchiodato
- l'oggetto di cui al punto precedente che tenta di ammazzare la copia di
access in esecuzione se ci son rogne (previa verifica che sia il tuo mde)
oppure lancia il tuo mde nel caso in cui sia tutto a posto


decisamente macchinoso...
--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
OneEDP
2009-09-10 15:29:35 UTC
Permalink
Post by Paolo opg
[cut]
Post by OneEDP
Non volevo annoiarti con quello che deve fare l'mde, ma a questo
punto serve a fare chiarezza.
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email,
sccrun.dll ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte
business e funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro
anche tu A tua disposizione
dalle descrizioni che hai fatto, secondo me hai scelto lo strumento
sbagliato per l'esecuzione schedulata.
da quello che capisco, hai sviluppato un'interfaccia utente che svolge
compiti complessi, la vorresti lanciare ogni 10 minuti su una macchina
client e, in base ad alcune valutazioni fatte dall'interfaccia,
decidere se chiudere access oppure mostrare il tutto all'utente.
access non e' propriamente una piuma e lanciato ogni 10 minuti su un
client, lo ammazza, soprattutto se e' un client utilizzato e non
dedicato.
tanto piu' se, come indichi nel post iniziale, c'e' il rischio che
l'elaborazione impieghi piu' di 10 minuti.
con una situazione del genere, io se possibile sposterei almeno le
valutazioni sull'as e poi andrei a leggere l'esito delle valutazioni
direttamente dall'as, lanciando il mde sul client solo se necessario.
non so pero' se sia possibile farlo nel tuo caso...
se proprio sei alle cozze e il mde DEVE essere usato una soluzione
- apertura del mde in modalita' esclusiva, cosi' eviti la doppia
esecuzione del tuo mde
- una volta lanciato, il tuo mde salva lo stato di avanzamento
elaborazioni da qualche parte (file d'appoggio?) ed elimina il file a
fine elaborazione
- un vbs/bathc/quelChePreferisci schedulato verifica se c'e' access in
esecuzione e controlla il contenuto del file d'appoggio di cui sopra,
per verificare se c'e' il tuo mde in esecuzione e se sta
effettivamente facendo qualcosa oppure e' inchiodato
- l'oggetto di cui al punto precedente che tenta di ammazzare la
copia di access in esecuzione se ci son rogne (previa verifica che
sia il tuo mde) oppure lancia il tuo mde nel caso in cui sia tutto a
posto
decisamente macchinoso...
--
Paolo opg
BE AWARE that this post uses a fake reply-to address
janickg ( at ) hotmail ( dot ) com
L'as400 è un carroarmato poco flessibile ma robusto quanto odioso quanto
stabile
Non posso, ma sarebbe l'ideale
OneEDP
2009-09-14 13:47:31 UTC
Permalink
Post by Paolo opg
[cut]
Post by OneEDP
Non volevo annoiarti con quello che deve fare l'mde, ma a questo
punto serve a fare chiarezza.
L'mde esegue un ftp non presidiato
Utilizza diverse API per gestione interfaccia, ftp, invio email,
sccrun.dll ecc...
Utilizza moduli di classe personalizzati con eventi personalizzati
Utilizza moduli di classe di librerie esterne IBM con eventi IBM
Gestisce l'interfaccia utente con pulstanti vari e opzioni vari.
Gestisce tabelle nascoste che danno la "direzione" alle scelte
business e funzionali del backup
Eventi... gestione errori, funzioni callback...
Sinceramente non lo farrei nemmeno per sogno con vbs e sono sicuro
anche tu A tua disposizione
dalle descrizioni che hai fatto, secondo me hai scelto lo strumento
sbagliato per l'esecuzione schedulata.
da quello che capisco, hai sviluppato un'interfaccia utente che svolge
compiti complessi, la vorresti lanciare ogni 10 minuti su una macchina
client e, in base ad alcune valutazioni fatte dall'interfaccia,
decidere se chiudere access oppure mostrare il tutto all'utente.
access non e' propriamente una piuma e lanciato ogni 10 minuti su un
client, lo ammazza, soprattutto se e' un client utilizzato e non
dedicato.
tanto piu' se, come indichi nel post iniziale, c'e' il rischio che
l'elaborazione impieghi piu' di 10 minuti.
con una situazione del genere, io se possibile sposterei almeno le
valutazioni sull'as e poi andrei a leggere l'esito delle valutazioni
direttamente dall'as, lanciando il mde sul client solo se necessario.
non so pero' se sia possibile farlo nel tuo caso...
se proprio sei alle cozze e il mde DEVE essere usato una soluzione
- apertura del mde in modalita' esclusiva, cosi' eviti la doppia
esecuzione del tuo mde
- una volta lanciato, il tuo mde salva lo stato di avanzamento
elaborazioni da qualche parte (file d'appoggio?) ed elimina il file a
fine elaborazione
- un vbs/bathc/quelChePreferisci schedulato verifica se c'e' access in
esecuzione e controlla il contenuto del file d'appoggio di cui sopra,
per verificare se c'e' il tuo mde in esecuzione e se sta
effettivamente facendo qualcosa oppure e' inchiodato
Il problema è che per sapere se è inchiodato devo solo valutare un timeout,
le api sarebbero troppo aleatorie.
Post by Paolo opg
- l'oggetto di cui al punto precedente che tenta di ammazzare la
copia di access in esecuzione se ci son rogne (previa verifica che
sia il tuo mde) oppure lancia il tuo mde nel caso in cui sia tutto a
posto
decisamente macchinoso...
Che alternative ho?
Post by Paolo opg
--
Paolo opg
BE AWARE that this post uses a fake reply-to address
janickg ( at ) hotmail ( dot ) com
Che ne pensi se utilizzo schtask.exe da linea di comando?
Grazie... anche se in ritardo.
Daniele
miciomao
2009-09-10 15:54:01 UTC
Permalink
Post by OneEDP
1) Ottenere un recordset di un server con connessione odbc utilizzando le
stesse credenziali di WinXP.
Scusate se mi intrometto, hai solo gli odbc installati o tutto il
Client Access dell'IBM?
Io uso un batch all'avvio dei client per loggarli all'AS
una cosa tipo

"c:\programmi\ibm\client access\cwblogon.exe" ip_del_server /u CAUSER /
p CAUSER

Altra cosa, dal vbs potresti verificare l'esistenza del .ldb dell'mde
per bloccare o passare ai step successivi del processo.

Ciao
Ale
OneEDP
2009-09-11 07:00:01 UTC
Permalink
Post by miciomao
Post by OneEDP
1) Ottenere un recordset di un server con connessione odbc
utilizzando le stesse credenziali di WinXP.
Scusate se mi intrometto, hai solo gli odbc installati o tutto il
Client Access dell'IBM?
Io uso un batch all'avvio dei client per loggarli all'AS
una cosa tipo
"c:\programmi\ibm\client access\cwblogon.exe" ip_del_server /u CAUSER
/ p CAUSER
Se usi Win XP non ne hai bisogno perché da operation navigator puoi
impostare se autenticarti con il server con le credenziali di win xp o altro
Post by miciomao
Altra cosa, dal vbs potresti verificare l'esistenza del .ldb dell'mde
per bloccare o passare ai step successivi del processo.
L'.ldb è troppo aleatorio, megglio sarebbe una select nel file .mde
dall'esterno
Anche tu dai per scontato un vbs esterno.
Grazie
Ciao
Daniele
Post by miciomao
Ciao
Ale
Paolo opg
2009-09-10 13:26:11 UTC
Permalink
Post by OneEDP
Ho bisogno che ogni 10 minuti circa, in modo hide (o al massimo
visibile come icona systray), parta l'esecuzione di un mde.
1) l'mde diventa visibile e all'utente viene data la possibilità di
gestire l'interfaccia di access (quindi non più hide). Qui con un po'
di API dovrei farcela da solo.
2) l'mde è l'ultima esecuzione del giorno ovvero ogni pianificazione
successiva non deve essere mai più eseguita fino al giorno successivo
Bisogna assicurarsi anche che se l'esecuzione programmatica della
stessa ci mette più del tempo del previsto la pianificazione in
scadenza non deve essere eseguita.
Se invece l'mde è in crash o è bloccato per qualche ragione "dovrei"
eseguire un killprocess al termine di un tempo timeout a mia
discrezione e poi riprendere l'esecuzione dell'mde.
In pratica è assimilabile a un servizio. Ma personalmente eviterei
questa strada.
Ho ha disposizione solo l'IDE di VBA.
Operazioni Pianificate di Win XP non so se fanno al mio caso.
A voi i suggerimenti.
Grazie
Daniele
prova a descrivere l'esigenza slegandola dal metodo.

a naso, a me pare che tu stia cercando di usare lo strumento sbagliato
per ottenere il risultato.

tieni pero' presente che, pur avendo letto anche il resto del thread, non
ho ben chiaro cosa vuoi fare, perche' non ho capito qual'e' l'utilita' di
fare eseguire il compito al file mde, piuttosto che a uno script vbs o
altro (ok, hai l'ide di vba, ma i vbs li fai anche col notepad ;-P).
--
Paolo opg

BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--
OneEDP
2009-09-10 14:22:08 UTC
Permalink
Post by Paolo opg
Post by OneEDP
Ho bisogno che ogni 10 minuti circa, in modo hide (o al massimo
visibile come icona systray), parta l'esecuzione di un mde.
1) l'mde diventa visibile e all'utente viene data la possibilità di
gestire l'interfaccia di access (quindi non più hide). Qui con un po'
di API dovrei farcela da solo.
2) l'mde è l'ultima esecuzione del giorno ovvero ogni pianificazione
successiva non deve essere mai più eseguita fino al giorno successivo
Bisogna assicurarsi anche che se l'esecuzione programmatica della
stessa ci mette più del tempo del previsto la pianificazione in
scadenza non deve essere eseguita.
Se invece l'mde è in crash o è bloccato per qualche ragione "dovrei"
eseguire un killprocess al termine di un tempo timeout a mia
discrezione e poi riprendere l'esecuzione dell'mde.
In pratica è assimilabile a un servizio. Ma personalmente eviterei
questa strada.
Ho ha disposizione solo l'IDE di VBA.
Operazioni Pianificate di Win XP non so se fanno al mio caso.
A voi i suggerimenti.
Grazie
Daniele
prova a descrivere l'esigenza slegandola dal metodo.
a naso, a me pare che tu stia cercando di usare lo strumento sbagliato
per ottenere il risultato.
tieni pero' presente che, pur avendo letto anche il resto del thread,
non ho ben chiaro cosa vuoi fare, perche' non ho capito qual'e'
l'utilita' di fare eseguire il compito al file mde, piuttosto che a
uno script vbs o altro (ok, hai l'ide di vba, ma i vbs li fai anche
col notepad ;-P).
--
Paolo opg
BE AWARE that this post uses a fake reply-to address
janickg ( at ) hotmail ( dot ) com
Ho risposto or ora a Sergio e converrai con me
Continua a leggere su narkive:
Loading...