El ejemplo que hice para ella y que hoy comparto con usted hace uso del wizard de visual studio válido para las versiones 2005 y 2008. Sé que habrá quienes digan que esta no es la mejor manera de hacerlo, quienes lo hagan seguramente ya tienen experiencia en esto, sin embargo el ejemplo está dirigido para principiantes. En otra ocasión compartiré otro método. Por lo pronto acá les dejo el enlace del video en youtube y el código fuente:
Imports CrystalDecisions.Shared Imports CrystalDecisions.CrystalReports.Engine Partial Class _Default Inherits System.Web.UI.Page Private Sub configureCRYSTALREPORT() Dim myConnectionInfo As New ConnectionInfo() myConnectionInfo.ServerName = "NOMBRE_O_IP_DEL_SERVIDOR" myConnectionInfo.DatabaseName = "Northwind" myConnectionInfo.UserID = "sa" myConnectionInfo.Password = "myserver" setDBLOGONforREPORT(myConnectionInfo) End Sub Private Sub setDBLOGONforREPORT(ByVal myconnectioninfo As ConnectionInfo) Dim mytableloginfos As New TableLogOnInfos() mytableloginfos = CrystalReportViewer1.LogOnInfo For Each myTableLogOnInfo As TableLogOnInfo In mytableloginfos myTableLogOnInfo.ConnectionInfo = myconnectioninfo Next End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load configureCRYSTALREPORT() End Sub End ClassMe han solicitado el código en c#. Acá se los dejo.
using CrystalDecisions.Shared; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Web; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { configureCRYSTALREPORT(); } private void configureCRYSTALREPORT() { ConnectionInfo myConnectionInfo = new ConnectionInfo(); myConnectionInfo.ServerName = "NOMBRE_O_IP_DEL_SERVIDOR"; myConnectionInfo.DatabaseName = "Northwind"; myConnectionInfo.UserID = "sa"; myConnectionInfo.Password = "mipassword"; setDBLOGONforREPORT(myConnectionInfo); } private void setDBLOGONforREPORT(ConnectionInfo myconnectioninfo) { TableLogOnInfos mytableloginfos = new TableLogOnInfos(); mytableloginfos = CrystalReportViewer1.LogOnInfo; foreach (TableLogOnInfo myTableLogOnInfo in mytableloginfos) { myTableLogOnInfo.ConnectionInfo = myconnectioninfo; } } }Si desean usar la autenticacion de windows en lugar de autenticacion de sql server cambian las lineas correspondientes al UserID y Password por lo siguiente:
myConnectionInfo.IntegratedSecurity = true;Para evitar que durante la publicación recuerde los datos de prueba deben activar la opción Discard Saved Data When Loading Reports en las imagenes siguientes muestro como hacerlo
Actualización:
Para Visual Studio 2010 y versiones posteriores es necesario descargar e instalar SAP Crystal Reports, developer version for Microsoft Visual Studio, despues de la instalación el procedimiento a seguir es el mismo.