RunTime per Crystal Report 10

mercoledì 03 settembre 2008 - 15.04

AM Informatica Profilo | Newbie

Salve ragazzi,
ho realizzato un report in Crystal ver.10. La fonte dati è un ambiente di sviluppo proprietario (Dataease).
Ora la cosa che non riesco a risolvere è come fare per poter installare la stampa su un pc client che non possiede Crystal.
Ho cercato su internet per ore ma non riesco a trovare un documento chiaro che spieghi come creare i file di run-time da installare, assieme ovviamente alle stampe da visualizzare.
Qualcuno ha già affrontato il problema?
ciao
Maurizio

freeteo Profilo | Guru

ciao,
tu devi fare un pacchetto di setup di una tua applicazione (.net o no) che includa anche il runtime per Crystal o hai semplicemente bisogno di installare (magari anche a mano) il runtime per fare andare solo i report?

- 1o caso:
fai un progetto di setup in visual studio, e vai nelle proprietà del progetto, pulsante "prerequisiti" e scegli anche Crystal, in modo che quando compili (e quindi generi il file di setup ".msi" ) hai anche la sottodirectory con il runtime.
http://blogs.dotnethell.it/freeteo/vs-2005-semplifica-il-deploy-anche-per-Crystal-Report__1190.aspx

- 2o caso:
puoi andare a cercare nel path del tuo disco il file crredist.msi che ha tutto quello che ti serve, come indicato qui
http://blogs.dotnethell.it/freeteo/Runtime-di-ReportViewer-2008-disponibile__12668.aspx

3o caso:
non hai visual studio e quindi non hai possibilità di fare uno dei 2 punti precedenti, in questo caso:
http://service.sap.com/sap/bc/bsp/spn/bobj_download/main.htm scegli la tua versione e dovresti trovare anche il runtime in download come file zip.


Ad ogni modo ti lascio altri link di questa stanza dove si parla di questo:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=7382
http://www.dotnethell.it/forum/messages.aspx?ThreadID=12068


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

AM Informatica Profilo | Newbie

ciao Matteo,

io non ho visual studio ma uso un prodotto di terze parti.Dovrei (come dicevi tu) installare solo un run-time di CR in modo da poter visualizzare i report sul pc utente.
Guardando i link che mi hai postato, direi che devo trovare il file CRRedist2005_x86.msi (che se non ho capito male è un runtime di CR)
Io questo file non lo trovo sul pc dove ho installato CR 10 e neanche sul cd.
Sul sito del produttore si parla solo di merge module (che tra l'altro sono file .msm)
Hai una dritta x favore da darmi?
ciao
Maurizio

freeteo Profilo | Guru

ciao,
nel link che ti ho dato (quello del 3o caso diciamo) c'è un pacchettino che ha tutta l'aria di essere quello che ti serve:
https://smpdl.sap-ag.de/~sapidp/012002523100005986262008I/cr10_server_install_it.zip

hai provato ad installarlo? cmq c'è un file doc se vuoi darci un'occhiata prima di lanciare l'msi.

Io ho sempre lavorato con visual studio, quindi non ho certezze in merito, ma penso che vista la fonte autorevole, sia quello che ti serve...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

AM Informatica Profilo | Newbie

Ciao Matteo, il run-time l'ho installato dal link che mi hai dato,e ora che faccio..?
Sul pc non è cambiato nulla, i file .rpt li vedo ancora non associati a nessuna applicazione, e non vedo nessuna applicazione in più installata sul pc. Boh, sto crystal è un bel casino..
ciao
maurizio

freeteo Profilo | Guru

>Ciao Matteo, il run-time l'ho installato dal link che mi hai
>dato,e ora che faccio..?
adesso hai il pc pronto per qualsiasi applicazione che lo vuole, può visualizzare i report


>Sul pc non è cambiato nulla, i file .rpt li vedo ancora non associati
>a nessuna applicazione
certo, ed è corretto perchè tu hai installato un runtime non un'applicazione.Se vuoi vederli associati allora devi isntallare l'applicazione Crystal Report che ha il designer e tutto quello che serve per leggere/modificare i report, quindi devi comprarlo da BusinessObjects.
Ma tu scusa cosa devi fare? perchè se vuoi che i report partano in quella macchina, ti conviene fare un'applicazione tu, che includa il viewer di crystal, e da codice carichi il report e lo visualizzi...non esistono report "AutoFunzionanti"...è come dire hai un file "xls" che da solo non fa niente, ci vuole "Excel" (o OpenOffice) per aprirlo e "farlo funzionare"...


>e non vedo nessuna applicazione in più installata sul pc.
eh certo è un runtime, vuol dire che qualsiasi applicazione tua (web/win32) che usa report può funzionare, è come avere installato il framework, adesso le applicazioni che lo usano, possono funzionare


>Boh, sto crystal è un bel casino..
bah non sempre dai ,cmq pian piano vediamo di riuscire a fare quello che ti serve
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

AM Informatica Profilo | Newbie

ciao Matteo,
si quello che devo fare io è questo (ti faccio il caso pratico così ci capiamo) :

1. ho creato un report con CR10 sul pc dove ho installato l'ambiente di sviluppo che ho chiamato Report1.rpt (questo report prende i dati dal nostro ambiente di sviluppo Dataease. Ho creato la connessione ai dati tramite un collegamento OLEDB da Cristal a dataease)
2. su un altro pc ho installato la mia applicazione Win32 (dove ho installato il runtime di CR) e vorrei fare in modo di poter visualizzare dal mio applicativo questo report (facendo una chiamata o qualcosa del genere che lanci questo report).

Io il report devo solo poterlo visualizzare/stampare, per cui mi andrebbe benissimo che venisse aperto con un viewer..è fattibile?
Per ora mi accontenterei di fare questo, poi se si riesce a farlo dovrei poter passare dei parametri per filtrare i dati del report

Sono nelle tue mani
ciao
Maurizio

freeteo Profilo | Guru

ciao,
sei in .net? Se si questo mio articolo fa per te:
http://www.dotnethell.it/articles/Crystal-Reports-Integration-Windows-Form.aspx

dove vedi il modo di caricare i dati (nel tuo caso ti consiglio le logoninfo così fai solo da "visualizzatore" puro dei report) e anche come poter fare dei filtri successivi...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

AM Informatica Profilo | Newbie

No non sono in .net
Il nostro ambiente di sviluppo (Dataease) è un ambiente a 32bit proprietario.
Pensavo si potesse fare una chiamata secca al file .rpt per aprirlo e stampare i dati
Se non siamo in .net si può fare?
ciao
Maurizio


freeteo Profilo | Guru

certo,
ma devi includere nel tuo progetto un viewer di Crystal e poi usare un codice come quello .net, o come questo in vb6 che usa COM:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=7942

se puoi referenziare l'ocx del viewer, cercalo e referenzialo insieme alla "CRAXDRT.dll" ammesso che esista ancora...non so se allora ti serve il runtime non .net, ma COM, guarda nel sito ufficiale della BusinessObjects che ti ho dato prima se per caso c'è qualcosa a riguardo...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

AM Informatica Profilo | Newbie

>>devi includere nel tuo progetto un viewer di Crystal e poi usare un codice come quello .net, o come ><questo in vb6 che usa COM:

da quello che mi dici credo proprio di non avere speranze. Forse non mi sono spiegato bene, ma il nostro ambiente è totalmente chiuso,noi non possiamo far rifermento a oggetti COM o roba del genere.
Credevo fosse possibile da crystal creare un semplice filr .rpt e poi dal nostro applicativo fare una chiamata a questo file (ma non tramite codice che usa classi o oggetti di crystal, perchè non possiamo farlo), ma una semplice chiamata DOS al file del tipo :
call c:\stampe\report1.rpt

e tramite un visualizzatore/runtime installato sul client poter visualizzare il report.
Ma da quello che mi sembra di capire se non usi oggetti COM o roba del genere non si può fare nulla.
Quindi un ambiente Win32 che non usa le tecnologia Microsoft (COM .NET ecc...) con Crystal non può fare nulla?

grazie ancora
ciao
Maurizio

freeteo Profilo | Guru

ciao,
ma non puoi fare tu un programma .net semplicissimo che lo lanci, riceve come parametro di esecuzione il nome del report e te lo visualizza?
Intendo dire che se il tuo sistema non può essere modificato, ti basta farti un programmino tu, meglio se in .net (visto l'anno in cui siamo) che ti carica il report e lo visualizza, una cosetta da "1 ora" di programmazione

Io ti ho allegato un esempio, lo lanci con il path del report da visualizzare come parametro ("cmd->c:\ViewerReport.exe c:\report.prt") e lui lo carica e lo visualizza. (ps: hai i sorgenti e anche l'exe già compilato)
Ovviamente puoi sofisticare la cosa ma questa è la strada a mio avviso...

L'unica cosa da fare sul server è installare il framework (se non ricordo male poi,già dovrebbe arrivare da Windows update, e se hai 2003 lo trovi già con l'installazione)


ps: se non hai .net e non riesci a vedere il sorgente, nessun problema, scaricati la versione express da qui:
http://www.microsoft.com/express/vcsharp/
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

AM Informatica Profilo | Newbie

ok ho provato a lanciare l'applicazione. Non parte perchè sulla macchina non è installato Framework 2,ora vedo se posso installarlo.
A parte questo t chiedo 2 cose:
- io il collegamento a Dataease l'ho fatto via OLEDB con un file .udl da CrystalReport
Ora quando il report parte cerca lo stesso file .udl nella stessa posizione in cui è sulla macchina di sviluppo ? cioè voglio dire, devo copiarmi questo file .udl anche sul client perchè il report si agganci alla fonte dati?
- con questo metodo, se mi scarico l'ambiente .net express (che non conosco, ma è un lingiaggio tipo visual basic?), posso anche fare in modo di aprire un form per la richiesta di immissione di un input per filtrare i dati del report?
ciao
se alla fine il tutto funziona ti devo una cena..

freeteo Profilo | Guru

>ok ho provato a lanciare l'applicazione. Non parte perchè sulla
>macchina non è installato Framework 2,ora vedo se posso installarlo.
ok, se riesci si sarebbe una buona cosa.
Unico dettaglio, se usi la versione express 2008 (l'ultima che c'è), puoi dirgli che framework usare (nelle proprietà del progetto c'è una combo apposita), e di default è 3.5, ma tu puoi cambiarlo con quello che ti interessa.


>Ora quando il report parte cerca lo stesso file .udl nella stessa
>posizione in cui è sulla macchina di sviluppo ? cioè voglio dire,
>devo copiarmi questo file .udl anche sul client perchè il report
>si agganci alla fonte dati?
eh adesso non uso mai questo tipo di connessione, ma penso di si, quando lanci un report senza modificare niente, lui usa i dati che ha memorizzato quando l'hai costruito, quindi nel tuo caso, penso si sarà salvato il path (o cmq il nome) del file udl, poi non so se faccia come tutti i programmi ormai, il controllo sulla dir corrente come prima cosa...


>- con questo metodo, se mi scarico l'ambiente .net express (che
>non conosco, ma è un lingiaggio tipo visual basic?), posso anche
>fare in modo di aprire un form per la richiesta di immissione
>di un input per filtrare i dati del report?
certo, puoi scaricare la versione express di visual basic, è gratuita e puoi sviluppare quello che ti interessa, richieste di login, file di configurazione etc...


>se alla fine il tutto funziona ti devo una cena..

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5