Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338

    [c#, winform e crystal report 2008] : pubblicazione e connessione

    Ciao a tutti..vi illustro la mia situazione sperando di ricevere qualche dritta come spesso succede
    Sto sviluppando una applicazione winform su VisualStudio2008 in c#, che lavora con un db SQLServer2005. Tutto bene fino a che non ho voluto inserire un report fatto in Crystal 2008 (poichè lo conosco abbastanza bene).
    Problemi nell'ambiente di sviluppo non ce ne sono ma al momento del deploy iniziano le grane. Vi spiego le magagne.

    1) nella soluzione ho creato una cartella report e dentro ho inserito il file Caso.rpt, impostandone la proprietà Copia nella directory di output = Copia Sempre. Risultato = nessun file .rpt viene installato. Se invece aggiungo nelle proprietà del Setup > File System una cartella report e vi aggiungo il file in questione allora durante l'installazione la cartella viene creata e il file copiato. Mi spiegate qual'è la giusta procedura? tra l'altro se annullo l'impostazione di Copia nella directory di output non mi funziona più in debug.

    2) a runtime sulla mia macchina va tutto bene, il report viene visualizzato correttamente; lo stesso su una seconda macchina di test dove ho fatto il login come un altro utente
    se invece installiamo il sw sulle macchine dei miei colleghi, tutti amministratori di sistema, all'apertura del report viene richiesto di effettuare un login che però non va a buon fine; in particolare il nome del server è corretto ma il nome del db rimane vuoto e non modificiabile.. a cosa può essere dovuto ciò?

    il report si collega ad una sp che ho abilitato in esecuzione per l'utente x e a quell'utente collego il report runtime:

    codice:
    private void frmReport_Load(object sender, EventArgs e)
            {
                myReport = new ReportDocument();
                string path = "report\\Caso.rpt";
                try
                {
                    myReport.Load(path);
                    myReport.SetParameterValue("@id", _id);
    
                    // imposta la connessione al db
                    SetDBLogonForReport();
    
                    // imposta il viewer
                    crrvMain.ShowLogo = false;
                    // visualizza il report
                    crrvMain.ReportSource = myReport;
    
                    crrvMain.Zoom(1);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Attenzione: " + ex.ToString(), "", MessageBoxButtons.OK);
                }
            }
    
            // imposta i dati di connessione per il report
            // nome server, nome db sono memorizzati all'interno del report
            private void SetDBLogonForReport()
            {
                ConnectionInfo conn = new ConnectionInfo();
                conn.Type = ConnectionInfoType.SQL;
                conn.ServerName = "dbServer";
                conn.DatabaseName = "dbName";
                conn.UserID = "x";
                conn.Password = "x_password";
    
                TableLogOnInfo LInfo = new TableLogOnInfo();
    
                foreach (CrystalDecisions.CrystalReports.Engine.Table table in myReport.Database.Tables)
                {
                    LInfo = table.LogOnInfo;
                    LInfo.ConnectionInfo = conn;
                    table.ApplyLogOnInfo(LInfo);
                }
            }
    la cosa strana che osservo è che mentre altri report quando li apro a design e lancio una anteprima mi chiedono di inserire la password per la connessione, questo non lo fa.. è come se usasse una protezione integrata che però io ho disabilitato reimpostando l'origine dati

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    aggiornamento:
    il punto 2 sembra risolto, il problema sembrava essere la mancanza del client nativo di SQL sulle macchine:sqlncli.

    ---

    aggiornamento: il punto 1 rimane aperto, inoltre vorrei capire perchè nei riferimenti mi sono comparsi Flash10d.ocx, FlashControlV71.dll e ShockwaveFlashObjects.dll [8o]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.