I ran into this at a customer's site and googled a lot, but found precious little info. Scenario is this: Old version of app was CR9. New version of app is CR XI R2 Sp6, .NET. App is 32-bit. Old development environment was XP against an Access database. Customers are either Access or MS SQL Server. New development environment is Win7 64-bit.
Only one customer got that 4060 error. He was on Xp 32-bit. Only two reports exhibited the error and I found out that I had changed the report database from the default access one to a file dsn that pointed to a SQL database whilst fixing some bugs.
Changing the report database to a system DSN that pointed to a SQL database did not fix the problem, but changing it to an Access database DSN did?
So what fixed the problem was to open the report, Database, Set database (Second menu item from top) and point to another DSN. Save report. Copy to client PC and it now reported correctly on that machine, against a SQL database.
What puzzles me is why it did this? Ie the app itself changes the database connection when running the report, yet the old DSN mattered? The report is NOT set to save data with the report.