Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Crystal report login db
giovedì 22 luglio 2004 - 12.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
gio 22 lug 2004 - 12:50
Salve ragazzi ho la seguente esigenza:
Creare un file pdf da un file crystal report che leggi i dati di una tabella sqlserver.
Riesco ad ottenere il risultato,ma ho il sequente problema.
Quando ho sviluppato questa pagina sono riuscito al primo colpo a farla funzionare il problema è sorto in un secondo momento quando sono subentrate delle variazioni:
Nello specifico la variazione consiste nel cambiare la macchina dove risiede il database....
mi spiego meglio : quando ho creato la pagina avevo tutto sulla stessa macchina (progetto,db,report)
quindi quando dovevo lanciare la pagina aspx mi limitavo ad usare la seguente istruzione:
crReportDocument.SetDatabaseLogon('sa','sa')
con questa riuscivo a lanciare il report e tutto andava bene.
Nel momento in cui il database risiedeva su un altro pc in rete i soli 2 parametri username e password del suddetto report non erano più sufficienti in quanto avrei dovuto specificare anche nome server e nome db.
Osservando bene il metodo mi sono accorto che era possibile farlo in quanto c'erano due parametri aggiuntivi appunto server e database
,ma appena arrivo all'istruzione export che mi crea il pdf la pagina genera un errore di runtime il seguente:
Unable to connect: incorrect log on parameters.
Questo è il mio problema ...
in realtà se aggiunta un altra variazione ovvero oltre a cambiare il pcserver potrei dover cambiare anche il nome del db ,ma penso che risolvendo il primo risolvo anche il secondo problema
P.s via allego il progetto piccolo(1 pagina ) comprensivo di file rpt e script per creare il piccolo db 1tabella.
più di questo non posso fare per non farvi perdere del tempo.
Vorrei far presente che ho provato ad usare il metodo TableLogOnInfo con le sue proprietà ma resta il problema .
Vi ringrazio anticipatamente!!!!!
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 22 lug 2004 - 22:56
Senti, prova a fare così.
Avvia il SQL Profiler sul Database Server. Poi lancia il tuo progetto.
Se c'è un tentativo di connessione sicuramente il SQL Profiler te lo traccia e te lo segnala visto che ti prende tutti gli eventi di logon e tutte le query.
Se lì non comparisse niente significa che il problema è altrove. Se però ti da un errore di invalid credentials forse al DB riesce ad arrivare.
Immagino tu sia sicuro che sa e sa sono una combinazione valida. Sei sicuro ? Riesci a collegarti tramite Query Analyzer ?
Cmq. con il TableLogonInfo dovrebbe funzionare. Mi pare strano che tu abbia questo problema.
Ti consiglio personalmente di non usare in produzione l'utente sa con una weak(debole) password come appunto sa perchè non sei molto al sicuro.
ciao
david
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
ven 23 lug 2004 - 10:45
Allora sono sicuro delle password
ti ringrazio del consiglio ma in produzione le ho cambiate ...le prove le faccio sulla mia macchina
allora ho utilizzato il sql profiler con questi risultati....(presumo però che tu abbia visto il codice che ho allegato)
allora utilizzando il metodo SetDatabaseLogon('sa','sa') con i soli 2 parametri di login il sql profiler si attiva (premetto che non l'ho mai utilizzato) e mi elenca una serie di "trace" da cui capisco che tutto va bene infatti parte anche il report ...
apppena utilizzo il metodo SetDatabaseLogon('sa','sa','192.0.0.1','db1') impostando anche i parametri relativi alla macchina dove risiede il db ed il nome di questultimo la pagina va in errore.
nel sql profiler non risulta nessuna "trace" rimane vuoto.
la cosa strana è che se effettuo un debug riga per riga del mio codice , l'errore mi viene generato dal metodo export dell'oggetto crystal report,mentre l'istruzione con SetDatabaseLogon va a buon fine!!!
vi prego aiutatemi
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
ven 23 lug 2004 - 11:31
precisazione table logon info
ho detto nel primo messaggio che ho provato ad utilizzare il logoninfo e che non funzionava lo stesso...
mi sembra meglio però spiegare in che senso non funziona ....
impostando i parametri all'interno del setlogoninfo (cambiando il nome del db) il report non risente di questo parametro e continua a prendere i valori dalla connessione con cui è stato creato.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 26 lug 2004 - 09:07
ciao,
ti allego 1 esempietto che da me funziona con logoinfo (se vuoi provare a acambiare il nome del db) e con esportazione in pdf.
ti basta mappare 1a dir virtuale su iis e lanciare la pagina
l'esempio legge da access ma anche su sql da me funziona, prova a scaricarlo e dimmi se da te va...
a presto ciao
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
lun 26 lug 2004 - 10:43
allora ho provato con il codice che mi hai inviato ma è lo stesso ...
in effetti vorrei spiegarvi un attimo il codice che uso io in modo che se ho commesso qualche rrore ve ne accorgiate!
Io comincio ad avere il sospetto che il problema non è nel codice ma bensì nel file crystal report.
Quest'ultimo secondo me non riesce aliberarsi delle impostazioni di creazione ....
adesso mi informo un poò su questo fatto .......
grazie
'**********dichiarazione oggetto Report
Dim crReportDocument As New CrystalDecisions.CrystalReports.Engine.ReportDocument
Dim crExportOptions As CrystalDecisions.Shared.ExportOptions
Dim crDiskFileDestinationOptions As New CrystalDecisions.Shared.DiskFileDestinationOptions
'**********carico il file crystal report
crReportDocument.Load(nomereport)
'*********dichiaro gli oggetti tablelogoninfo e connection info
Dim crTableLogOnInfo As CrystalDecisions.Shared.TableLogOnInfo
Dim crConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo
'*****dichiaro la variabile crtables e crtable rispettivamente la collezione di tabelle all'interno del report ed una singola tabella
Dim crTables As CrystalDecisions.CrystalReports.Engine.Tables
Dim crTable As CrystalDecisions.CrystalReports.Engine.Table
'*****imposto la connection info
With crConnectionInfo
.UserID = Me.txtUsername.Text
.Password = Me.txtPassword.Text
.DatabaseName = Me.txtNomedb.Text
.ServerName = Me.txtServer.Text
End With
ciclo per ogni tabella del report ed associo ad ognuna di esse la connectioninfo ed il logoninfo
crTables = crReportDocument.Database.Tables
For Each crTable In crTables
crTableLogOnInfo = New CrystalDecisions.Shared.TableLogOnInfo
crTableLogOnInfo = crTable.LogOnInfo
crTableLogOnInfo.ConnectionInfo = crConnectionInfo
crTable.ApplyLogOnInfo(crTableLogOnInfo)
Next
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
lun 26 lug 2004 - 10:53
dimenticavo con access funziona!
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 26 lug 2004 - 11:05
.mmmm...il codice mi sembra giusto, non hai sottoreport giusto?
altrimenti devi settare l e logon anche a quelle tabelle...
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
lun 26 lug 2004 - 11:34
non ho sottoreport è una tabella semplice se vuoi ti mando tutto il progertto conmpresi script db..
ci metti 5 minuti a provarlo...
te lo allego
Torna su
Stanze Forum
Elenco Threads
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 !