Ayuda con Crystal Report y VB6
Quisiera que me ayudes un poco, le he dado vueltas al asunto como loco, tengo una Base de Datos en SQL Server 2000 sp3, la programación en VB6 y el sistema operativo es el win server 2003. Tengo el Siguiente código para cargar los reportes que creo:
Public Sub GetReport(RptFile As String, RptSP As String, Optional ByVal RptParam1 As String, _
Optional ByVal RptParam2 As Date, Optional ByVal RptParam3 As Date, _
Optional ByVal RptParam4 As String, Optional ByVal RptParam5 As String)
'parametros 2 y 3 utilizados para el rango de fechas, los demas para otros strings
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
Dim RS As ADODB.Recordset
Dim MiCmd As ADODB.Command
Set MiCmd = New ADODB.Command
MiCmd.ActiveConnection = MiConexion
MiCmd.CommandType = adCmdStoredProc
MiCmd.CommandText = RptSP
MiCmd.Execute , Arrays() ' este array almacena los parametros para el proc.almacenado
Set RS = New ADODB.Recordset
RS.Open MiCmd
On Error GoTo ErrorControl
If RS.EOF Then
MsgBox "No hay Datos para Imprimir", vbExclamation, "Reportes de Gasto 1"
Exit Sub
Else
Screen.MousePointer = vbHourglass
mFlag = True
Set crApp = New CRAXDRT.Application
Set crReport = crApp.OpenReport(App.Path & RptFile, 1)
crReport.DiscardSavedData
crReport.Database.SetDataSource RS
Set crParamDefs = crReport.ParameterFields
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "@Param1"
crParamDef.AddCurrentValue (RptParam1)
Case "@Param2"
crParamDef.AddCurrentValue (RptParam2)
Case "@Param3"
crParamDef.AddCurrentValue (RptParam3)
Case "@Param4"
crParamDef.AddCurrentValue (RptParam4)
End Select
Next
Set crParamDefs = Nothing
Set crParamDef = Nothing
End If
Exit Sub
ErrorControl:
MsgBox "No hay Datos para Imprimir", vbExclamation, "MODULO DE CAJA error"
mFlag = False
Exit Sub
End Sub
Ahora mi problema es que esto me corría en WINxp, ahora que cambie el sistema operativo con la intención de hacer una aplicación cliente servidor, los reportes no me cargan y me mandan este error:
Logon failed.
Details: ADO Error Code: 0c80004005
Source: Microsoft OLE DB Provider for SQL Server
Description: [DBNETLIB][ConnectionOpen(Conect()).]No existe el servidor SQL Server o se ha denegado el accedo al mismo.
SQL State: 08001
Native Error: 17
La cadena de conexión es la siguiente:
Set MiConexion = New ADODB.Connection
MiConexion.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=Administrador;Initial Catalog=DBFZC;Data Source=FZC-SERVER"
MiConexion. Open
Public Sub GetReport(RptFile As String, RptSP As String, Optional ByVal RptParam1 As String, _
Optional ByVal RptParam2 As Date, Optional ByVal RptParam3 As Date, _
Optional ByVal RptParam4 As String, Optional ByVal RptParam5 As String)
'parametros 2 y 3 utilizados para el rango de fechas, los demas para otros strings
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
Dim RS As ADODB.Recordset
Dim MiCmd As ADODB.Command
Set MiCmd = New ADODB.Command
MiCmd.ActiveConnection = MiConexion
MiCmd.CommandType = adCmdStoredProc
MiCmd.CommandText = RptSP
MiCmd.Execute , Arrays() ' este array almacena los parametros para el proc.almacenado
Set RS = New ADODB.Recordset
RS.Open MiCmd
On Error GoTo ErrorControl
If RS.EOF Then
MsgBox "No hay Datos para Imprimir", vbExclamation, "Reportes de Gasto 1"
Exit Sub
Else
Screen.MousePointer = vbHourglass
mFlag = True
Set crApp = New CRAXDRT.Application
Set crReport = crApp.OpenReport(App.Path & RptFile, 1)
crReport.DiscardSavedData
crReport.Database.SetDataSource RS
Set crParamDefs = crReport.ParameterFields
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "@Param1"
crParamDef.AddCurrentValue (RptParam1)
Case "@Param2"
crParamDef.AddCurrentValue (RptParam2)
Case "@Param3"
crParamDef.AddCurrentValue (RptParam3)
Case "@Param4"
crParamDef.AddCurrentValue (RptParam4)
End Select
Next
Set crParamDefs = Nothing
Set crParamDef = Nothing
End If
Exit Sub
ErrorControl:
MsgBox "No hay Datos para Imprimir", vbExclamation, "MODULO DE CAJA error"
mFlag = False
Exit Sub
End Sub
Ahora mi problema es que esto me corría en WINxp, ahora que cambie el sistema operativo con la intención de hacer una aplicación cliente servidor, los reportes no me cargan y me mandan este error:
Logon failed.
Details: ADO Error Code: 0c80004005
Source: Microsoft OLE DB Provider for SQL Server
Description: [DBNETLIB][ConnectionOpen(Conect()).]No existe el servidor SQL Server o se ha denegado el accedo al mismo.
SQL State: 08001
Native Error: 17
La cadena de conexión es la siguiente:
Set MiConexion = New ADODB.Connection
MiConexion.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=Administrador;Initial Catalog=DBFZC;Data Source=FZC-SERVER"
MiConexion. Open
1 Respuesta
Respuesta de emperador20
1