By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,230 Members | 2,471 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,230 IT Pros & Developers. It's quick & easy.

Crystal Reports - Database Login dialog when using datasets

P: n/a
I'm developing an VB.NET Windows Forms application that uses CR for VS.NET
(original version shipped with VS.NET 2002 - my VS.NET has the latest SP
installed, no SPs for CR).
My reports get their data from ADO.NET Datasets that are pre-populated by
other modules of the application.
What I need to do is to use these datasets as the datasources of my reports.
Fine, I know how to do that and it works perfectly on my development box.
The trouble comes when I deploy the application on the client machine.
I created a installation project in VS.NET, added the required CR merge
modules, added the keycode, and it seems to install everything fine. But
when it tries to show the reports in the CrystalReportViewer control, it
pops-up the 'Database Login' dialog.
Who is talking about database here? I'm already giving all the needed data.

The reports were all created from typed datasets, using datasources of type
ADO.NET(XML).
It seems that a lot of people have the same problem but the only workaround
so far appears to be "use only one DataTable inside your dataset, containing
all the data you need". I'm trying not to have to resort to this approach
because my datasets are very complex with many tables.
What I've read in other similar posts is that it seems that CR gets lost
when the dataset has more than one table

Is this a confirmmed bug or am I missing something ?
This is how my code looks like:

reportDocument = new MyCustomReport()
reportDocument.SetDataSource(myLoadedDataset)
ReportViewerControl.ReportSource = reportDocument

Thanks

TJ!


Nov 19 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a
The problem resides in the name of the table when you fill it. You must
make sure that the name of the table is always the same. I got around
this by using the Stored procedure name as the table name but then ran
into the same problem you are having when I corrected a spelling mistake
in the stored procedures name.

sqlDAdapter1.Fill(myDataSet,"MyTable");

Hope this helps. You can use the debugger to check the table name and
compare it to the table name that you used in the crystal report.

Sincerely,
Paul J Barrett
TJoker .NET wrote:
I'm developing an VB.NET Windows Forms application that uses CR for VS.NET
(original version shipped with VS.NET 2002 - my VS.NET has the latest SP
installed, no SPs for CR).
My reports get their data from ADO.NET Datasets that are pre-populated by
other modules of the application.
What I need to do is to use these datasets as the datasources of my reports.
Fine, I know how to do that and it works perfectly on my development box.
The trouble comes when I deploy the application on the client machine.
I created a installation project in VS.NET, added the required CR merge
modules, added the keycode, and it seems to install everything fine. But
when it tries to show the reports in the CrystalReportViewer control, it
pops-up the 'Database Login' dialog.
Who is talking about database here? I'm already giving all the needed data.

The reports were all created from typed datasets, using datasources of type
ADO.NET(XML).
It seems that a lot of people have the same problem but the only workaround
so far appears to be "use only one DataTable inside your dataset, containing
all the data you need". I'm trying not to have to resort to this approach
because my datasets are very complex with many tables.
What I've read in other similar posts is that it seems that CR gets lost
when the dataset has more than one table

Is this a confirmmed bug or am I missing something ?
This is how my code looks like:

reportDocument = new MyCustomReport()
reportDocument.SetDataSource(myLoadedDataset)
ReportViewerControl.ReportSource = reportDocument

Thanks

TJ!


Nov 19 '05 #2

P: n/a
I created a small sample project that reproduces the error and making it
available on the following url:

http://sergiopereira.com/temp/test_crystal.zip

In the zip file there are two projects.. one for the test application and
one for the Setup.
What I in my test application was
- Defined a typed ADO.NET dataset (DataSet1.xsd)
- Created a report (CrystalReport1.rpt)
- Created some menus options:
- one to load the data from a Database server (northwind
database) into a dataset of type DataSet1
- one to create a report of type CrystalReport1 and bind that
dataset the report
- one to save the dataset's xml to C:\
- one to load the dataset with XML from C:\ and show the report

I ran this app in my local development box (where weverything always
works), loaded the dataset from the database, viewed the report, and saved
the XML to a file in c:\. Later I ran the application again and loaded the
XML from C:\. All that worked perfectly.
Then I built the installation, and installed on the client machine. Then I
put that XML file in its C:\ and tried to, ran the app and tried to load the
using the menu option.. Boom! Same "Database Login" screen...

Could anyone please verify my sample project and possibly try to reproduce
this ? Something could be missing from the deployment documentation, which I
read and I am following thoroughly.

By the way, I forgot to also mention that the user executing the application
is always the administrator of the computer, so this shouldn't be any
permissions problem.

Thanks for the help.

TJ
"Paul J. Barrett" <pa************@nospamcoderjunto.com> wrote in message
news:3f33c93b$1@la-news-01....
The problem resides in the name of the table when you fill it. You must
make sure that the name of the table is always the same. I got around
this by using the Stored procedure name as the table name but then ran
into the same problem you are having when I corrected a spelling mistake
in the stored procedures name.

sqlDAdapter1.Fill(myDataSet,"MyTable");

Hope this helps. You can use the debugger to check the table name and
compare it to the table name that you used in the crystal report.

Sincerely,
Paul J Barrett
TJoker .NET wrote:
I'm developing an VB.NET Windows Forms application that uses CR for VS.NET (original version shipped with VS.NET 2002 - my VS.NET has the latest SP
installed, no SPs for CR).
My reports get their data from ADO.NET Datasets that are pre-populated by other modules of the application.
What I need to do is to use these datasets as the datasources of my reports. Fine, I know how to do that and it works perfectly on my development box. The trouble comes when I deploy the application on the client machine.
I created a installation project in VS.NET, added the required CR merge
modules, added the keycode, and it seems to install everything fine. But
when it tries to show the reports in the CrystalReportViewer control, it
pops-up the 'Database Login' dialog.
Who is talking about database here? I'm already giving all the needed data.
The reports were all created from typed datasets, using datasources of type ADO.NET(XML).
It seems that a lot of people have the same problem but the only workaround so far appears to be "use only one DataTable inside your dataset, containing all the data you need". I'm trying not to have to resort to this approach because my datasets are very complex with many tables.
What I've read in other similar posts is that it seems that CR gets lost
when the dataset has more than one table

Is this a confirmmed bug or am I missing something ?
This is how my code looks like:

reportDocument = new MyCustomReport()
reportDocument.SetDataSource(myLoadedDataset)
ReportViewerControl.ReportSource = reportDocument

Thanks

TJ!

Nov 19 '05 #3

P: n/a
you have my sympathy.

"TJoker .NET" <no****@nonono.no> wrote in message
news:u5*************@TK2MSFTNGP10.phx.gbl...
I am in contact with CrystalDecisions support (through that dreaded Answer
by email system)

Nov 19 '05 #4

P: n/a
I can't see your orriginal question, but to suppress the DB Login dialog I
had to explicitly set the login info for every connection at the time when
the report was loaded. That was the only way I could do it.

HTH,
Jeremy

"K. Shier" <ks*****@spamAtYourOwnRisk.yahoo.com> wrote in message
news:eg**************@TK2MSFTNGP12.phx.gbl...
you have my sympathy.

"TJoker .NET" <no****@nonono.no> wrote in message
news:u5*************@TK2MSFTNGP10.phx.gbl...
I am in contact with CrystalDecisions support (through that dreaded Answer by email system)



Nov 19 '05 #5

P: n/a
Got it to work!!!!!!!!!

After using a more decent support account (my company bought Crystal
Enterprise Server) I was able to chat with the "real people" support.
After messing aroung with try and error procedures, we figured out the
obvious, the version of some of the dlls were mixed.
The funny thing is that it was mixed because I had downloaded their very own
update for the merge modules:
http://support.crystaldecisions.com/...s/cr_net_merge
modules_en.zip.asp
But, fear not! Now you can download this update with confidence because it
has been fixed, although they did not correct the publishing date. This
update has been corrected after 8/6/2003 (when I downloaded it) but the
website did not make clear that there was a new version available.
I just downloaded the new version, installed, recompiled my setup, ran in
the client box and it worked!

Thanks fr anyone following this thread.

TJ

"TJoker .NET" <no****@nonono.no> wrote in message
news:eN*************@tk2msftngp13.phx.gbl...
I created a small sample project that reproduces the error and making it
available on the following url:

http://sergiopereira.com/temp/test_crystal.zip

In the zip file there are two projects.. one for the test application and
one for the Setup.
What I in my test application was
- Defined a typed ADO.NET dataset (DataSet1.xsd)
- Created a report (CrystalReport1.rpt)
- Created some menus options:
- one to load the data from a Database server (northwind
database) into a dataset of type DataSet1
- one to create a report of type CrystalReport1 and bind that
dataset the report
- one to save the dataset's xml to C:\
- one to load the dataset with XML from C:\ and show the report
I ran this app in my local development box (where weverything always
works), loaded the dataset from the database, viewed the report, and saved
the XML to a file in c:\. Later I ran the application again and loaded the
XML from C:\. All that worked perfectly.
Then I built the installation, and installed on the client machine. Then I
put that XML file in its C:\ and tried to, ran the app and tried to load the using the menu option.. Boom! Same "Database Login" screen...

Could anyone please verify my sample project and possibly try to reproduce
this ? Something could be missing from the deployment documentation, which I read and I am following thoroughly.

By the way, I forgot to also mention that the user executing the application is always the administrator of the computer, so this shouldn't be any
permissions problem.

Thanks for the help.

TJ
"Paul J. Barrett" <pa************@nospamcoderjunto.com> wrote in message
news:3f33c93b$1@la-news-01....
The problem resides in the name of the table when you fill it. You must
make sure that the name of the table is always the same. I got around
this by using the Stored procedure name as the table name but then ran
into the same problem you are having when I corrected a spelling mistake
in the stored procedures name.

sqlDAdapter1.Fill(myDataSet,"MyTable");

Hope this helps. You can use the debugger to check the table name and
compare it to the table name that you used in the crystal report.

Sincerely,
Paul J Barrett
TJoker .NET wrote:
I'm developing an VB.NET Windows Forms application that uses CR for VS.NET (original version shipped with VS.NET 2002 - my VS.NET has the latest SP installed, no SPs for CR).
My reports get their data from ADO.NET Datasets that are pre-populated by other modules of the application.
What I need to do is to use these datasets as the datasources of my reports. Fine, I know how to do that and it works perfectly on my development box. The trouble comes when I deploy the application on the client machine.
I created a installation project in VS.NET, added the required CR merge modules, added the keycode, and it seems to install everything fine. But when it tries to show the reports in the CrystalReportViewer control, it pops-up the 'Database Login' dialog.
Who is talking about database here? I'm already giving all the needed data.
The reports were all created from typed datasets, using datasources of type ADO.NET(XML).
It seems that a lot of people have the same problem but the only workaround so far appears to be "use only one DataTable inside your dataset, containing all the data you need". I'm trying not to have to resort to this approach because my datasets are very complex with many tables.
What I've read in other similar posts is that it seems that CR gets lost when the dataset has more than one table

Is this a confirmmed bug or am I missing something ?
This is how my code looks like:

reportDocument = new MyCustomReport()
reportDocument.SetDataSource(myLoadedDataset)
ReportViewerControl.ReportSource = reportDocument

Thanks

TJ!


Nov 19 '05 #6

P: n/a
Got it to work!!!!!!!!!

After using a more decent support account (my company bought Crystal
Enterprise Server) I was able to chat with the "real people" support.
After messing aroung with try and error procedures, we figured out the
obvious, the version of some of the dlls were mixed.
The funny thing is that it was mixed because I had downloaded their very own
update for the merge modules:
http://support.crystaldecisions.com/...s/cr_net_merge
modules_en.zip.asp
But, fear not! Now you can download this update with confidence because it
has been fixed, although they did not correct the publishing date. This
update has been corrected after 8/6/2003 (when I downloaded it) but the
website did not make clear that there was a new version available.
I just downloaded the new version, installed, recompiled my setup, ran in
the client box and it worked!

Thanks fr anyone following this thread.

TJ
"Jeremy Cowles" <jeremy.cowles[nosp@m]asifl.com> wrote in message
news:DC********************@twister.tampabay.rr.co m...
I can't see your orriginal question, but to suppress the DB Login dialog I
had to explicitly set the login info for every connection at the time when
the report was loaded. That was the only way I could do it.

HTH,
Jeremy

"K. Shier" <ks*****@spamAtYourOwnRisk.yahoo.com> wrote in message
news:eg**************@TK2MSFTNGP12.phx.gbl...
you have my sympathy.

"TJoker .NET" <no****@nonono.no> wrote in message
news:u5*************@TK2MSFTNGP10.phx.gbl...
I am in contact with CrystalDecisions support (through that dreaded Answer by email system)


Nov 19 '05 #7

P: 1
I found out something... You need to check the properties in the "Datasource Location" screen on your form/report (in the designer). In more detail... right click on "Database Fields" and choose "Set Datasource Location"... then verify or "Replace" the datatable (or dataset) you have with the new one.

This is a HUGE ISSUE if you were using a custom namespace and, from the previous post/replys had to remove the namespace... it DOES NOT get removed from the datasource. Now, using this "Set Datasource Location" helps with not having to redesign or drop the fields (or new fields) back on the form... it simply updates it for you.

This got rid of the "Database Login Dialog" from popping up!

i hope this helps someone
ward0093



The problem resides in the name of the table when you fill it. You must
make sure that the name of the table is always the same. I got around
this by using the Stored procedure name as the table name but then ran
into the same problem you are having when I corrected a spelling mistake
in the stored procedures name.

sqlDAdapter1.Fill(myDataSet,"MyTable");

Hope this helps. You can use the debugger to check the table name and
compare it to the table name that you used in the crystal report.

Sincerely,
Paul J Barrett


TJoker .NET wrote:
[color=blue]
> I'm developing an VB.NET Windows Forms application that uses CR for VS.NET
> (original version shipped with VS.NET 2002 - my VS.NET has the latest SP
> installed, no SPs for CR).
> My reports get their data from ADO.NET Datasets that are pre-populated by
> other modules of the application.
> What I need to do is to use these datasets as the datasources of my reports.
> Fine, I know how to do that and it works perfectly on my development box.
> The trouble comes when I deploy the application on the client machine.
> I created a installation project in VS.NET, added the required CR merge
> modules, added the keycode, and it seems to install everything fine. But
> when it tries to show the reports in the CrystalReportViewer control, it
> pops-up the 'Database Login' dialog.
> Who is talking about database here? I'm already giving all the needed data.
>
> The reports were all created from typed datasets, using datasources of type
> ADO.NET(XML).
> It seems that a lot of people have the same problem but the only workaround
> so far appears to be "use only one DataTable inside your dataset, containing
> all the data you need". I'm trying not to have to resort to this approach
> because my datasets are very complex with many tables.
> What I've read in other similar posts is that it seems that CR gets lost
> when the dataset has more than one table
>
> Is this a confirmmed bug or am I missing something ?
> This is how my code looks like:
>
> reportDocument = new MyCustomReport()
> reportDocument.SetDataSource(myLoadedDataset)
> ReportViewerControl.ReportSource = reportDocument
>
> Thanks
>
> TJ!
>
>
>
>[/color]
Jun 14 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.