Bonjour,
je voudrais savoir si il est possible d'utiliser gratuitement des dll de crystal reports. Ceci en vue de les redistribuer chez un client. Si oui lesquelles.
Merci.
Bonjour,
je voudrais savoir si il est possible d'utiliser gratuitement des dll de crystal reports. Ceci en vue de les redistribuer chez un client. Si oui lesquelles.
Merci.
Oui tu peux
Voici la liste
- CRAXDRT.DLL*(Click here to see the object/collection list for the properties, methods, and events that are provided Royalty-free.)
BN4C2nt2.DLL· C2SUPPRT.DLL· CDO32.DLL· CPEAUT32.DLL· CRBAS14.DLL· CRBAS15.DLL· CRBAS15R.DLL· CRCVT01.DLL· CRDB214.DLL· CRFLT14.DLL· CRFLT15.DLL· CRFLT15R.DLL· CRGUP14.DLL· CRIADX07.DLL· CRIADX07R.DLL· CRINF14.DLL· CRINF914.DLL· CROR714.DLL· CROR814.DLL· CRPAIG80.DLL· CRPE32.DLL· CRSYB14.DLL· CRTSLV.DLL· CRUTL14.DLL· CRUTL15.DLL· CRVIEWER.DLL· CRWRAP32.DLL· CRXF_PDF.DLL· CRXF_RTF.DLL· CRXML15.DLL· CRXML15R.DLL CRXML15S.DLL· CRXMLX07.DLL· CRXMLX07R.DLL· CRYSTL32.OCX· EXLATE32.dll· EXPORTMODELLER.DLL· IMPLODE.DLL· LIBCS.DLL· LIBCT.DLL
· MAPINFOW.PRJ· MAPX30.LIC· MAPX30.OCX· MFC42.DLL· MFCANS32.DLL· MIDLG30.DLL· MIDLIN30.DLL· MITMDL30.DLL· MITMIN30.DLL· MSPX3032.DLL· MSVCIRT.DLL· MSVCP60.DLL· MSVCRT.DLL· MSXB3032.DLL· MXINTL30.DLL· OLEPRO32.DLL· P2BACT.DLL· P2BACT3.DLL· P2BBDE.DLL· P2BBND.DLL· P2BBTRV.DLL· P2BDAO.DLL· P2BXBSE.DLL· P2CTBTRV.DLL· P2CTDAO.DLL· P2IRACT.DLL· P2IRACT3.DLL· P2IRDAO.DLL· P2IXBSE.DLL· P2LDB2.DLL· P2LIFMX.DLL· P2LODBC.DLL· P2LORA7.DLL· P2LSQL.DLL· P2LSYB10.DLL· P2MOLAP.DLL· P2SACL.DLL· P2SBAAN.DLL· P2SDB2.DLL· P2SEVT.DLL· P2SEXSR.DLL· P2SFS.DLL· P2SIFMX.DLL· P2SMAPI.DLL· P2SMCUBE.DLL· P2SMON.DLL· P2SMSIIS.DLL· P2SNOTE.DLL· P2SODBC.DLL· P2SOLAP.DLL· P2SOLEDB.DLL· P2SORA7.DLL· P2SOUTLK.DLL· P2SREPL.DLL· P2SRFC.DLL· P2SRFCAQ.DLL· P2SRFCFA.DLL· P2SSQL.DLL· P2SSYB10.DLL· P2STRACK.DLL· P2SWBLG.DLL· PG32CONV.DLL· QECR.LIC· RULE1.DFA· RULE1.LLR· S2SQLPRS.DLL· SSCSDK80.DLL· U2DAAP.DLL· U2DDISK.DLL· U2DMAPI.DLL· U2DNOTES.DLL· U2DPOST.DLL· U2DVIM.DLL· U2FCR.DLL· U2FDIF.DLL· U2FHTML.DLL· U2FODBC.DLL· U2FPDF.DLL· U2FRDEF.DLL· U2FREC.DLL· U2FRTF.DLL· U2FSEPV.DLL· U2FTEXT.DLL· U2FWKS.DLL· U2FWORDW.DLL· U2FXLS.DLL· U2FXML.DLL
Merci beaucoup pour cette liste, cela va vraiement m'aider. J'aurais deux autres questions à te poser. Parmi ces dll, sais-tu s'il y a celle(s) qui permet d'utiliser Server.CreateObject("CrystalRuntime.Application") (commande permettant d'utiliser un objet crystal en ASP). De plus pourrais tu me dire où tu as trouver cette liste.
Merci encore.
Alors 1er pour utiliser Crystal en ASP c'est la CRAXDRT.DLL.
Donc si tu utilise la CRAXDRT tu n'as plus besoin de la CRPE32.DLL. Car il faut savoir que segeate a développé plusieurs moteur crystal. Il y a
CRW32.EXE : Pour construire les fichiers rpt
crpe32.dll : Crystal Report API Interface, declares encapsulated in either global32.bas or crpe.h
cpeaut32.dll : Crystal Report Print Engine 8 Object Library 32-bit COM object model, dispatch only
craxdrt.dll : Crystal Report 8 ActiveX Designer Runtime library 32-bit only COM object model, dual interface, apartment model
Et celui que Segeate recommande d'utiliser c'est le craxdrt.dll
2e tu trouves tout cela sous C:\Program Files\Seagate Software\Crystal Reports\Developer Files\Help
Désolé de ne pas t'avoir remercié plutôt, mais j'étais en vacances. J'ai bien pris en compte les infos de ton dernier message et je t'en remercie. Cependant j'ai encore un problème, c'est apparemment un problème de connexion aux bases de données. J'ai le message d'erreur suivant : "Error Occurred Reading Records: Physical database not found.". J'imagine qu'il me manque encore une ou plusieurs dll, mais je n'arrive pas à savoir lesquelles. Peux-tu m'aider à résoudre ce problème.
Merci, cordialement.
Ce message d'erreur n'est pas parce qu'il n'a pas trouvé la bonne dll, mais plutôt parce qu'il na pas pu connecter les tables du rapport à la base de donnée.
Quel est ton code pour connecter ton rpt à ta BD ?
après avoir rajouter des dll qui me semblaient importantes sur le serveur, j'ai un autre message d'erreur, qui est le suivant :
CRAXDRT Error Occured on Server. Error Number: -2147221005 Error Description: 006~ASP 0177~Échec de Server.CreateObject~Chaîne de classe non valide
de plus, lorsque que je veux registrer certaines dll (crutl14.dll, crbas14.dll, ...) j'ai un message qui me dit qu'elles sont déjà chargées, puis DllRegisterServer may not exported, or corrupt version of crutl14.dll may be in memory. Consider using PView to detect and remove.
je t'avouerai que je suis un peu perdu dans tout cela. Si tu peux me donner des indications sur ces erreurs elles seront les biens venues.
code pour connecter mon rpt à ma db : je me sert d'une appli existante pour faire mes tester si elle fonctionne sur le serveur où je registre mes dll. Je t'avouerais que pour l'instant, je n'est pas trop touché au code et par conséquent, j'ai un peu de mal à comprendre comment ça ce passe. Je ne sais pas non plus si la liaison se fait dans le rpt ou au sein du code asp pourrais-tu me donner un exemple. Je vais tout de même essayer de comprendre comment ça se passe en attendant ton aide.
Merci encore, cordialement.
Je ne vois pas trop de quoi ton erreur provient. Peut-être que la CRAXDRT n'est pas enregistré. "regsvr32.exe"
Voici un exemple de code en ASP.
Le principe :
'=======================================================================
' WORKING WITH THE REPORT DESIGNER COMPONENT AND ASP TO PREVIEW A REPORT
'=======================================================================
'
' CONCEPT
'
' ALWAYS REQUIRED STEPS
' - create the application object
' - create the report object
' - open the report
'
' MORE ALWAYS REQUIRED STEPS
' - retreive the records
' - create the page engine
'
' DISPLAY THE REPORT
' - display the report using a smart viewer
Le code ASP/VB pour utiliser la CRAXDRT
Voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 <%@ LANGUAGE="VBSCRIPT" %> <% reportname = "SimplePreviewReport.rpt" '=================================================================================== 'Create the Crystal Reports Objects '=================================================================================== ' 'You will notice that the Crystal Reports objects are scoped as session variables. 'This is because the page on demand processing is performed by a prewritten 'ASP page called "rptserver.asp". In order to allow rptserver.asp easy access 'to the Crystal Report objects, we scope them as session variables. That way 'any ASP page running in this session, including rptserver.asp, can use them. ' - 1 - ' CREATE THE APPLICATION OBJECT If Not IsObject (session("oApp")) Then Set session("oApp") = Server.CreateObject("CrystalRuntime.Application") End If 'This "if/end if" structure is used to create the Crystal Reports Application 'object only once per session. Creating the application object - session("oApp") 'loads the Crystal Report Design Component automation server (craxdrt32.dll) into memory. ' 'We create it as a session variable in order to use it for the duration of the 'ASP session. This is to elimainate the overhead of loading and unloading the 'craxdrt32.dll in and out of memory. Once the application object is created in 'memory for this session, you can run many reports without having to recreate it. ' - 2 - ' CREATE THE REPORT OBJECT ' 'The Report object is created by calling the Application object's OpenReport method. Path = Request.ServerVariables("PATH_TRANSLATED") While (Right(Path, 1) <> "\" And Len(Path) <> 0) iLen = Len(Path) - 1 Path = Left(Path, iLen) Wend 'This "While/Wend" loop is used to determine the physical path (eg: C:\) to the 'Crystal Report file by translating the URL virtual path (eg: http://Domain/Dir) 'OPEN THE REPORT (but destroy any previous one first) If IsObject(session("oRpt")) then Set session("oRpt") = nothing End if 'Response.Write (path & reportname) Set session("oRpt") = session("oApp").OpenReport(path & reportname, 1) 'This line uses the "PATH" and "reportname" variables to reference the Crystal 'Report file, and open it up for processing. ' 'Notice that we do not create the report object only once. This is because 'within an ASP session, you may want to process more than one report. The 'rptserver.asp component will only process a report object named session("oRpt"). 'Therefor, if you wish to process more than one report in an ASP session, you 'must open that report by creating a new session("oRpt") object. session("oRpt").MorePrintEngineErrorMessages = False session("oRpt").EnableParameterPrompting = False 'These lines disable the Error reporting mechanism '==================================================================================== ' Retrieve the Records and Create the "Page on Demand" Engine Object '==================================================================================== On Error Resume Next session("oRpt").ReadRecords If Err.Number <> 0 Then Response.Write "An Error has occured on the server in attempting to access the data source" Else If IsObject(session("oPageEngine")) Then set session("oPageEngine") = nothing End If set session("oPageEngine") = session("oRpt").PageEngine End If 'Contains the HTML code to instantiate the Smart Viewer ActiveX. ' 'You will notice that the Report Name parameter references the rptserver.asp file. 'This is because the report pages are actually created by rptserver.asp. 'Rptserver.asp accesses session("oApp"), session("oRpt") and session("oPageEngine") 'to create the report pages that will be rendered by the ActiveX Smart Viewer. ' %> <HTML> <HEAD> <TITLE>Seagate ActiveX Viewer</TITLE> </HEAD> <BODY BGCOLOR=C6C6C6 LANGUAGE=VBScript ONLOAD="Page_Initialize"> <OBJECT ID="CRViewer" CLASSID="CLSID:C4847596-972C-11D0-9567-00A0C9273C2A" WIDTH=100% HEIGHT=95% CODEBASE="/viewer/activeXViewer/activexviewer.cab#Version=8,0,0,224"> <PARAM NAME="EnableRefreshButton" VALUE=1> <PARAM NAME="EnableGroupTree" VALUE=1> <PARAM NAME="DisplayGroupTree" VALUE=1> <PARAM NAME="EnablePrintButton" VALUE=1> <PARAM NAME="EnableExportButton" VALUE=1> <PARAM NAME="EnableDrillDown" VALUE=1> <PARAM NAME="EnableSearchControl" VALUE=1> <PARAM NAME="EnableAnimationControl" VALUE=1> <PARAM NAME="EnableZoomControl" VALUE=1> </OBJECT> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Page_Initialize On Error Resume Next Dim webBroker Set webBroker = CreateObject("WebReportBroker.WebReportBroker") if ScriptEngineMajorVersion < 2 then window.alert "IE 3.02 users on NT4 need to get the latest version of VBScript or install IE 4.01 SP1. IE 3.02 users on Win95 need DCOM95 and latest version of VBScript, or install IE 4.01 SP1. These files are available at Microsoft's web site." CRViewer.ReportName = "rptserver.asp" else Dim webSource Set webSource = CreateObject("WebReportSource.WebReportSource") webSource.ReportSource = webBroker webSource.URL = "rptserver.asp" webSource.PromptOnRefresh = True CRViewer.ReportSource = webSource end if CRViewer.ViewReport End Sub --> </SCRIPT> </BODY> </HTML>
Je te remercie pour le code asp cela va vraiement m'aider.
Le message d'erreur que j'ai actuellement est :
Error Occurred Reading Records: Error detected by database DLL.
Bien évidemment je ne sais pas d'où cela provient pour l'instant, peut-être que tu peux encore une fois m'aider ?
Pour cette erreur vas fair un tour par la
http://support.crystaldecisions.com/...db_dll.pdf.asp
Une nouvelle fois j'ai besoin de toi. Je souhaite "webiser" un état rpt qui utilise les éléments d'une base de données access. Seulement lorsque j'utilise le code que tu m'a envoyé, j'ai le message d'erreur suivant :
Error Occurred Reading Records: Server has not yet been opened. (encore un qui me pose problème). J'ai essayé de complèter ton code avec les instructions suivantes :
<%
'- add the database
f = AddDatabase(Path)
'Function: AddDatabase
Function AddDatabase(Path)
'Variables used to setup the Database connection
Dim crDBTables
Dim sDatabasePath
Dim sTableName1
Dim sTableName2
Dim sTableName3
Dim sTableName4
Dim sTableName5
'Get the Tables collection because it has the Add() method needed
'to add a connection to the report
Set crDBTables = session("oRpt").Database.Tables
'Set the values for the connection variables
'The full path and name of the Access database.
'The database resides in the same directory as the application
sDatabasePath = Path & "EDFData.mdb"
Response.Write "chemin : " & sDatabasePath & "<br>"
Response.Write "Creating the database succeeded" & "<br>"
'The name of the first Access table
sTableName1 = "Contacts"
sTableName2 = "Emplois"
sTableName3 = "Z_Fonctions"
sTableName4 = "Etablissements"
sTableName5 = "Villes"
'Use the .Add() method to add the database table to the report.
'There are several optional arguments for the Add method. Which arguments are passed
'will depend on the type of database, the type of table and the type of connection.
Response.Write "ici<br>"
'Add the 'Contacts' table
crDBTables.Add cstr(sDatabasePath), cstr(sTableName1)
Response.Write "Adding the first database table succeeded" & chr(10)
crDBTables.Add cstr(sDatabasePath), cstr(sTableName2)
Response.Write "Adding the second database table succeeded" & chr(10)
crDBTables.Add cstr(sDatabasePath), cstr(sTableName3)
Response.Write "Adding the third database table succeeded" & chr(10)
crDBTables.Add cstr(sDatabasePath), cstr(sTableName4)
Response.Write "Adding the fourth database table succeeded" & chr(10)
crDBTables.Add cstr(sDatabasePath), cstr(sTableName5)
Response.Write "Adding the fifth database table succeeded" & chr(10)
AddDatabase = true
end function
j'ai trouvé d'autres infos mais j'ai du mal comprendre à quoi cela sert et je n'arrive pas à me débarasser de ce message d'erreur.
Pourrais-tu me me donner un exemple d'implémentation pour "webiser" un état utilisant les informations d'une base de données.
Je te remercie par avance et je te remercie aussi pour m'avoir fourni le code précédent, cela m'a permis de "webiser" un état simple (sans dbb).
Pour cette erreur Server has not yet been opened
C'est parce que ta connexcion DB entre les tables définit dans le fichier rpt et les tables de la DB n'est pas établit.
Et dans le bout de code que tu m'a montré tu ajoutes de nouvelle table dans ton rpt, alors qu'il faut connecter les tables existante à la DB.
Voici le code que j'utilise.
En fait j'utilise la méthode SetLogOnInfo de Crystal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub ConnectTable if RptTmp.Database.Tables.Count >0 Then For ILogOn = 1 to RptTmp.Database.Tables.Count RptTmp.Database.Tables.Item(CInt(ILogOn)).SetLogOnInfo Cstr(session("Server")),"",Cstr(session("Name")),Cstr(session("Password")) Next End if End Sub
Ce qu'il faut savoir c'est que le SetLogOnInfo doit être fait pour toutes les tables du rpt, sous-rapport icomprit
J'ai donc ajouter un fonction qui parcourt tout le rpt à la recherche de sous-rapport.
Voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 'Loop through each section, one by one, checking for subreports Set session("sections") = session("oRpt").Sections Dim sectionCnt sectionCnt = session("sections").Count For i = 1 to sectionCnt Set section = session("sections").Item(CInt(i)) Set sectionobjects = section.ReportObjects Dim objectCnt objectCnt = sectionobjects.Count 'When a subreport is found, store in a array For e = 1 to objectCnt If sectionobjects.Item(CInt(e)).Kind = 5 then aName = sectionobjects.Item(CInt(e)).SubreportName Set RptTmp = session("oRpt").OpenSubreport(CStr(aName)) ConnectTable EndIf Next Next
La je t'ai tous servis sur un plateau
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager