Discussione:
[D6] CGI+RemObjects+IIS+ADO
(troppo vecchio per rispondere)
Andrea Raimondi
2004-05-20 05:47:07 UTC
Permalink
Salve.

Ho un CGI scritto in Delphi 6 utilizzando RO ed ADO.
Non funziona. Il codice che fa uso di ADO è *corretto*.
Non ci sono incompatibilità di sorta tra RO e WebBroker+
Delphi 6+IIS.

Non ho idea di quale sia il problema.

Qualcuno ha suggerimenti?

Grazie in anticipo,

Andrea Raimondi
guastatore
2004-05-20 07:47:31 UTC
Permalink
Andrea Raimondi wrote:

Andrea,
Post by Andrea Raimondi
Ho un CGI scritto in Delphi 6 utilizzando RO ed ADO.
Non funziona. Il codice che fa uso di ADO è corretto.
Non ci sono incompatibilità di sorta tra RO e WebBroker+
Delphi 6+IIS.
Non ho idea di quale sia il problema.
io non potrei esserti di molto aiuto pur avendo maggiori informazioni
ma immagino che chiunque abbia le competenze necessarie per poterti
aiutare non sarebbe comunque in grado di farlo data l'esiguità di
dettagli che fornisci.

Antonio
Andrea Raimondi
2004-05-20 10:42:36 UTC
Permalink
Post by guastatore
io non potrei esserti di molto aiuto pur avendo maggiori informazioni
ma immagino che chiunque abbia le competenze necessarie per poterti
aiutare non sarebbe comunque in grado di farlo data l'esiguità di
dettagli che fornisci.
Beh, scusa, Delphi 6( ultrapatchato ), IIS 5, ADO... uhm... 2.5 mi pare,
WebBroker e RemObjects 3.

Più dettagli di così?

So che il codice ADO è corretto perché al di fuori del CGI funziona.
RO e WebBroker vanno allegramente in un CGI di prova sotto IIS.
Il problema me lo dà anche con altri WebServer.

Forse potrebbe essere un problema di WebBroker + ADO in ambiente
CGI, però non ho mai avuto riscontri in questo senso... altro non so,
forse un problema di credenziali? boh? Eppure il CGI dovrebbe essere
eseguito dal server, quindi problemi non ce ne dovrebbero essere.

Sinceramente non saprei...

Ciao,
Post by guastatore
Antonio
Andrea
Marco Breveglieri
2004-05-20 11:57:50 UTC
Permalink
Post by Andrea Raimondi
Più dettagli di così?
Forse si riferiva al fatto che, a parte la frase "non funziona", non c'è
nessun altra indicazione al tipo di errore restituito, alla
configurazione del progetto e dei componenti di cui è composto è così
via...

Se io ti dicessi "ho fatto un'applicazione, ho usato un Form, un
TButton, un TEdit...ma non va", tu cosa mi diresti? ;-)
--
Marco «Alka» Breveglieri
(ABLS Team Snc <http://www.abls.it>)
Andrea Raimondi
2004-05-20 12:47:24 UTC
Permalink
Post by Marco Breveglieri
Forse si riferiva al fatto che, a parte la frase "non funziona", non
c'è nessun altra indicazione al tipo di errore restituito, alla
configurazione del progetto e dei componenti di cui è composto è così
via...
Giusto, sto talmente incavolato... allora ho trovato il problema.
Io accedo via ADO ed ODBC, classico, insomma, per un'applicazione Web.

QUALUNQUE TIPO di DSN( sistema, utente ) non gli va bene e si
incavola come un riccio affamato.

Onestamente, non so che pesci prendere... mi è stato consigliato di
usare un file UDL, ma avendo a che fare con Aruba... bah, io non gli
lascerei configurare manco il mio cellulare, non so voi... ma tant'è, il
cliente Aruba ha - quindi...
Post by Marco Breveglieri
Se io ti dicessi "ho fatto un'applicazione, ho usato un Form, un
TButton, un TEdit...ma non va", tu cosa mi diresti? ;-)
Uhm, che non hai collegato gli eventi <g,d&r>

Andrea
MassimoB
2004-05-20 13:24:54 UTC
Permalink
Post by Andrea Raimondi
Giusto, sto talmente incavolato... allora ho trovato il problema.
Io accedo via ADO ed ODBC, classico, insomma, per un'applicazione Web.
QUALUNQUE TIPO di DSN( sistema, utente ) non gli va bene e si
che DB utilizzi? Se usi DB Access, potresti utilizzare
una semplice stringa di connessione con l'indirizzo
assoluto sul server del File DB.

Forse ho detto una cavolata? ... Devo provare ... se
provi prima tu dammi riscontro :)
Post by Andrea Raimondi
incavola come un riccio affamato.
Ti comprendo ...
Post by Andrea Raimondi
Onestamente, non so che pesci prendere... mi è stato consigliato di
usare un file UDL
non conosco ... vado molto a stringhe di connessione
sia per Access sia per Mysql che per SQLServer vari ...
Post by Andrea Raimondi
Post by Andrea Raimondi
So che il codice ADO è corretto perché al di fuori del CGI funziona.
hai provato a farti dare un file di testo di log sul
server in maniera da poter vedere cosa succede, in
esecuzione, con la creazione ed attivazione dei
componenti che usi, con la connessione, il caricamento
dati e la loro visualizzazione (html)?
Post by Andrea Raimondi
Post by Andrea Raimondi
RO e WebBroker vanno allegramente in un CGI di prova sotto IIS.
Il problema me lo dà anche con altri WebServer.
Ma il server con IIS con il cgi è su Aruba? :)
Post by Andrea Raimondi
ma avendo a che fare con Aruba...
prova a fare una demo che non fa nulla (non si
connette, etc) ma con tutti i componenti che utilizzi
nell'applicazione che vuoi realizzare (ADO,RemObjects,
etc) e falla girare su Aruba.

Se va sulla tua macchina ma non va su Aruba allora, o
Aruba non ti fa girare il CGI, o Aruba non ha
installati dei driver necessari per qualche componente.

Se va, sia sul tuo server che su Aruba, allora il
problema è, o nella connessione, o nel codice che hai
scritto; a questo punto andrei di log su file di testo
o sul Response stesso ;)
Post by Andrea Raimondi
Post by Andrea Raimondi
Eppure il CGI dovrebbe essere
eseguito dal server, quindi problemi non ce ne dovrebbero essere.
E' qui che invece, secondo me, nascono la maggior parte
dei problemi irrisolvibili :'( (Aruba)

Ciao
MassimoB

---------------------------
http:\\www.massimobeschi.it
Morde
2004-05-20 13:33:11 UTC
Permalink
Post by MassimoB
Post by Andrea Raimondi
Onestamente, non so che pesci prendere... mi è stato consigliato di
usare un file UDL
non conosco ... vado molto a stringhe di connessione
sia per Access sia per Mysql che per SQLServer vari ...
Niente paura, MAssimoB! Gli udl sono una ca*ata, basta aprirne uno col notepad
e spunta fuori la tua bella stringa di connessione al db.
In altre parole, e' come un INI file ma con estensione differente ;-)

Esempio di pippo.udl:

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=assistenza.mdb;Persist Security
Info=False

Facile, no ? ;-)
--
Morde.
(***@despammed.com)
M-List di icld: http://it.groups.yahoo.com/group/icld/
Andrea Raimondi
2004-05-20 13:43:44 UTC
Permalink
Post by MassimoB
che DB utilizzi? Se usi DB Access, potresti utilizzare
una semplice stringa di connessione con l'indirizzo
assoluto sul server del File DB.
Seeeee... e secondo te un hoster decente qualunque mi dà la
possibilità di accedere al path fisico del file, così?

Vabbeh che parliamo di Aruba, quindi non di un hoster decente,
però che cavolo...
Post by MassimoB
Forse ho detto una cavolata? ... Devo provare ... se
provi prima tu dammi riscontro :)
A te l'onore...
Post by MassimoB
hai provato a farti dare un file di testo di log sul
server in maniera da poter vedere cosa succede, in
esecuzione, con la creazione ed attivazione dei
componenti che usi, con la connessione, il caricamento
dati e la loro visualizzazione (html)?
Finora sto provando su un IIS locale... il bello è che non mi fa
accedere al disco... bah! Magari sbaglio io qualcosa e non lo so.

Mi restituisce un bel "EInOutError".
Post by MassimoB
Ma il server con IIS con il cgi è su Aruba? :)
No, al momento sto usando un IIS locale...
Post by MassimoB
Se va sulla tua macchina ma non va su Aruba allora, o
Aruba non ti fa girare il CGI, o Aruba non ha
installati dei driver necessari per qualche componente.
Oppure Aruba fa schifo, anzi senza oppure...
Post by MassimoB
Se va, sia sul tuo server che su Aruba, allora il
problema è, o nella connessione, o nel codice che hai
scritto; a questo punto andrei di log su file di testo
o sul Response stesso ;)
EInOutError, in quanto al file di log.
Sul response... ho isolato il problema e per le
prove sto usando un CGI webbroker senza altra
roba e solo con i componenti ADO necessari.
Post by MassimoB
E' qui che invece, secondo me, nascono la maggior parte
dei problemi irrisolvibili :'( (Aruba)
Eh, dillo a me! Cmq visto che sono SUL MIO PC, non dovrebbero
essercene di problemi...
Post by MassimoB
Ciao
Ciao,
Post by MassimoB
MassimoB
Andew
Morde
2004-05-20 14:10:28 UTC
Permalink
Post by Andrea Raimondi
Oppure Aruba fa schifo, anzi senza oppure...
Vado OT, pero' ti faccio notare che prima di giudicare pubblicamente un
hoster, dovresti essere sicuro che non sia tu a sbagliare/ignorare qualcosa
della configurazione, oppure dovresti anche chiedere al cliente se e perche'
ha preso uno spazio su aruba, magari addirittura GRATIS.
Ciao :)
--
Morde.
(***@despammed.com)
M-List di icld: http://it.groups.yahoo.com/group/icld/
Andrea Raimondi
2004-05-20 14:25:11 UTC
Permalink
Post by Morde
Vado OT, pero' ti faccio notare che prima di giudicare pubblicamente
un hoster, dovresti essere sicuro che non sia tu a sbagliare/ignorare
qualcosa della configurazione, oppure dovresti anche chiedere al
cliente se e perche' ha preso uno spazio su aruba, magari addirittura
GRATIS.
Beh, la mia OPINIONE su aruba è dettata da altri motivi...
Non è, ovviamente, un giudizio assoluto, ma opinione fondata su
delle ragioni( lunghe da spiegare e *molto* OT ).

Detto tra parentesi, ho ben specificato che sono sul mio PC...
Post by Morde
Ciao :)
Ciao,

Andrea
MassimoB
2004-05-20 14:21:33 UTC
Permalink
Post by Andrea Raimondi
Seeeee... e secondo te un hoster decente qualunque mi dà la
possibilità di accedere al path fisico del file, così?
strano io in Asp basta che scrivo

<%=Server.MapPath("../database/mydb.mdb")%>

ed ottengo l'indirizzo fisico/assoluto del file anche
su Server 2003 di Aruba che al momento hanno le
restrizioni maggiori. In Asp.Net si fa in maniera molto
simile.
E' vero che ho sempre usato WebSnap che su webBroker si
basa solamente e per giunta in assetto modulo Apache,
ma non ho mai avuto problemi ad avere l'indirizzo
fisico almeno dell'Host ... boh forse mi ricordo male.
Post by Andrea Raimondi
[...]
A te l'onore...
appena ho tempo faccio una demo e la provo sul mio sito
Server 2003 Aruba
Post by Andrea Raimondi
Finora sto provando su un IIS locale... il bello è che non mi fa
accedere al disco... bah! Magari sbaglio io qualcosa e non lo so.
Mi restituisce un bel "EInOutError".
Mai trovato in mezzo ai piedi questo errore.
Post by Andrea Raimondi
[...] ho isolato il problema [...]
dov'è? cos'è che ti caisa questa eccezzione?
Post by Andrea Raimondi
Ciao,
Andew
Ciao
MassimoB

---------------------------
http:\\www.massimobeschi.it
Marco Breveglieri
2004-05-20 14:27:25 UTC
Permalink
Post by Andrea Raimondi
Seeeee... e secondo te un hoster decente qualunque mi dà la
possibilità di accedere al path fisico del file, così?
Che io sappia, su Aruba è possibile accedere ai database MDB usando il
percorso fisico, poichè non avendo la possibilità di intervenire sul
server, non è nemmeno possibile definire alias, DSN e affini.

Probabilmente, la ConnectionString che usi per i componenti ADO non è
corretta e non riesci ad accedere al file MDB.

Inoltre, c'è da tenere presente che tutti i siti ospitati su Windows
Server 2003 (tutti quelli attivati di recente, quindi) non posso
eseguire EXE o DLL, quindi la cartella "cgi-bin" è disponibile solo per
script tipo Perl, ma non per file eseguibili.
--
Marco «Alka» Breveglieri
(ABLS Team Snc <http://www.abls.it>)
Andrea Raimondi
2004-05-20 14:34:38 UTC
Permalink
Post by Marco Breveglieri
Che io sappia, su Aruba è possibile accedere ai database MDB usando il
percorso fisico, poichè non avendo la possibilità di intervenire sul
server, non è nemmeno possibile definire alias, DSN e affini.
Come non è possibile definire DSN? Ma sei sicuro?
Ahe!

Bon, ora provo il path diretto allora...
Post by Marco Breveglieri
Probabilmente, la ConnectionString che usi per i componenti ADO non è
corretta e non riesci ad accedere al file MDB.
No, no, col file UDL accede, ma non passa i dati indietro( sto usando per
prova un banalissimo CGI webbroker con una ADOTable ed un
DatasetTablePageProducer ).
Post by Marco Breveglieri
Inoltre, c'è da tenere presente che tutti i siti ospitati su Windows
Server 2003 (tutti quelli attivati di recente, quindi) non posso
eseguire EXE o DLL, quindi la cartella "cgi-bin" è disponibile solo
per script tipo Perl, ma non per file eseguibili.
ARGH!

Meno male che 'sto sito sta già da un pò di anni!

Ciao,

Andrea
Andrea Raimondi
2004-05-20 15:16:49 UTC
Permalink
Post by Andrea Raimondi
Bon, ora provo il path diretto allora...
OH CHE BELLO!!!!!

Magnifico!

Nemmeno il path fisico va!!!!!!!

ARGH!!!!!!
Post by Andrea Raimondi
No, no, col file UDL accede, ma non passa i dati indietro( sto usando
per prova un banalissimo CGI webbroker con una ADOTable ed un
DatasetTablePageProducer ).
Anche col path fisico, semplicemente NON MI MOSTRA I DATI,
però non mi dà errori di accesso!

Ciao,

Andrea
MassimoB
2004-05-20 16:59:12 UTC
Permalink
Post by Andrea Raimondi
OH CHE BELLO!!!!!
Magnifico!
Nemmeno il path fisico va!!!!!!!
ARGH!!!!!!
Anche col path fisico, semplicemente NON MI MOSTRA I DATI,
però non mi dà errori di accesso!
da quello che mi fai capire il path va, in quanto
l'errore non è sulla connessione ma, sulla
reperibilità/visualizzazione dei dati.

Prova a leggere la lista delle tabelle del DB
direttamente dalla connessione e mandala in log ... in
questa maniera ti accorgi se la connessione vede il DB
... forse è seplicemente un problema di
impostazioni/visualizzazione del PageProducer.
Post by Andrea Raimondi
Ciao,
Andrea
Ciao
MassimoB

---------------------------
http:\\www.massimobeschi.it
Andrea Raimondi
2004-05-20 17:36:03 UTC
Permalink
Post by MassimoB
Prova a leggere la lista delle tabelle del DB
direttamente dalla connessione e mandala in log ... in
questa maniera ti accorgi se la connessione vede il DB
... forse è seplicemente un problema di
impostazioni/visualizzazione del PageProducer.
No, adesso ti dico io che si fa: provo con un client dataset,
tanto ci sarà al massimo UN utente collegato a 'sto CGI del
piffero!

Ciao,
Andrea
MassimoB
2004-05-20 14:35:11 UTC
Permalink
Post by Marco Breveglieri
[...]
Inoltre, c'è da tenere presente che tutti i siti ospitati su Windows
Server 2003 (tutti quelli attivati di recente, quindi) non posso
eseguire EXE o DLL, quindi la cartella "cgi-bin" è disponibile solo per
script tipo Perl, ma non per file eseguibili.
AZZ mi stai dando una bruttissima notizia ... non avevo
ancora provato ... mi avevano assicurato che Aruba
faceva girare anche dll .Net oltre a CGI, forse con i
server 2000 o NT ... che p***e! Mi ero fatto il sito
per far girare anche alcune demo CGI ... uuffaa non mi
sono informato a sufficenza e questo mi da hai nervi :[

:) Scusate esco dall'OT.
Post by Marco Breveglieri
--
Marco «Alka» Breveglieri
Ciao
MassimoB

---------------------------
http:\\www.massimobeschi.it
Marco Breveglieri
2004-05-20 16:02:36 UTC
Permalink
Questo messaggio potrebbe essere inappropriato. Clicca per visualizzarlo
MassimoB
2004-05-20 17:04:47 UTC
Permalink
Post by Marco Breveglieri
Con EXE e DLL mi riferivo esclusivamente a EXE e DLL Win32 (cioè
CGI/ISAPI), mentre gli assembly .NET funzionano tranquillamente.
Siccome le librerie DLL per il .NET Framework [...]
almeno questo su Server 2003 lo hanno lasciato :(
Post by Marco Breveglieri
Ovviamente, se tenti - come ho fatto io - di accedere ad una DLL Win32
da una DLL .NET tramite l'interoperabilità, vieni bloccato dalle
impostazioni di sicurezza.
ok ancora più triste il panorama :(
Post by Marco Breveglieri
In definitiva, se hai realizzato applicazioni CGI/ISAPI sottoforma di
EXE o DLL, queste non possono essere eseguite sui Windows 2003 Server di
Aruba per questioni di sicurezza; [...]
è finita :'( niente delphi
Post by Marco Breveglieri
Per quanto riguarda le pagine basate su ASP .NET e gli eventuali
assembly (DLL) per il .NET Framework contenenti classi e quant'altro,
non ci sono problemi di sorta, anzi direi che funzionano decisamente
bene e restituiscono molto rapidamente le pagine accedendo ai dati in
modo performante (considerando che su Aruba si fa uso di ODBC per
interrogare file MDB!); poi, con le funzionalità di Caching fornite da
ASP.NET, è possibile aumentare ancora di più le prestazioni. ;-)
Buono per il prossimo futuro.

Grazie per le info.
Post by Marco Breveglieri
Ciao!
--
Marco «Alka» Breveglieri
Ciao
MassimoB

---------------------------
http:\\www.massimobeschi.it
Marco Breveglieri
2004-05-20 17:39:03 UTC
Permalink
Post by MassimoB
almeno questo su Server 2003 lo hanno lasciato :(
Che io sappia, non per default. :-)

Se non sbaglio, le impostazioni predefinite fanno sì che siano visibili
file HTML e poco altro.
Solo che, in virtù del metodo facilitato di configurazione di .NET,
evidentemente Aruba è riuscita ad aprire quel canale, mentre per quanto
riguarda Win32 non è stato possibile (considerando le implicazioni a
livello di sicurezza).
Post by MassimoB
è finita :'( niente delphi
Con Delphi 8 fai ciò che vuoi, in modo sicuramente più gestibile di
prima per quanto riguarda le applicazioni Web. Prova a creare
applicazioni ASP .NET scaricando la trial.

Ciao!
--
Marco «Alka» Breveglieri
(ABLS Team Snc <http://www.abls.it>)
MassimoB
2004-05-20 19:40:03 UTC
Permalink
Post by Marco Breveglieri
[..]
Con Delphi 8 fai ciò che vuoi, in modo sicuramente più gestibile di
prima per quanto riguarda le applicazioni Web. Prova a creare
applicazioni ASP .NET scaricando la trial.
Magari D8 ma credo che ormai visti i costi, la politica
Borland, e il cambiamento tootale della logica da
WebSnap da D6 a D8 e quindi i problemi di porting di
vecchie applicazzioni in WebSnap che comunque avremmo,
ci stiamo costruendo un bel WebFramework simil WebSnap
in C#. Anche perchè abbiamo sempre sviluppato ecommerce
e siti in Asp.
Post by Marco Breveglieri
Ciao!
--
Marco «Alka» Breveglieri
Ciao
MassimoB

---------------------------
http:\\www.massimobeschi.it
Andrea Raimondi
2004-05-21 09:41:33 UTC
Permalink
[SNIP]
Ok questo è folle.
Dunque, ho fatto un altro tentativo con il CGI originale,
mandandolo in esecuzione da tre ambienti diversi:

1) IE
2) Mozilla FireFox
3) Prompt dei comandi Win2K

Risultati:

1) Pagina vuota( <HTML> </HTML> )
2) Errore di accesso al DB
3) Risultato corretto(?!)

E' arrivato il momento di chiamare l'esoriciccio?

Ciao,

Andrea

Continua a leggere su narkive:
Loading...