I am attempting to run a Timed Subscription in SSRS 2008 and have the results save out to a file share. The subscription runs great when I have it email it's results but fails with this error when I try to save to a file share:
Failure writing file \ServerName\ShareName\Test.csv : Could not find file '\ServerName\ShareName\Test.csv'.
So Far, this is what I have unsuccessfully tried/confirmed
The subscription runs under my NT context and I've confirmed I have rights to create files in the share
I didn't expect it to matter but I created an empty text file name test.csv in the share. This made no difference
There are quite a few references online regarding write failures but non relate to "Could not find file".
I am the owner of the subject and the report
Emailing the report works fine
I tried leaving the file name blank in the subscription so SSRS would create the file name based on the RDL name (idea based on comments in BOL) but this is now a required field.
This is extremely frustrating. Has anyone had problems with this before? This seems like a slam dunk simple thing to do.
Are you qualifying your server name with a double backslash?
e.g.
\\ServerName
Not
\ServerName
Do you have the "Use as Windows credentials when connecting to the data source" box checked in Properties/Data Sources for that specific report?
Related
I have an SSIS package that is supposed to read a folder and if the folder contains any text files, it will read them and store the data into a database. The package works flawlessly from the file system, however when I deployed it it fails.
The package uses a project level variable that remains consistent that acts as a folder path to see which folder to look in for files.
The SQL Server Agent gives me this error:
After looking at the execution report I see following error messages if I execute it with the service account through SQL Server Agent:
"The file name property is not valid. The file name is a device or contains invalid characters"
"The file name '(path here)' specified in the connection was not valid"
"The Flat File Connection manager failed validation"
However, if I run it myself by directly right clicking on the package in the catalog and executing, the execution report will come back as successful but it will contain a warning that says: "Read Files From File Input Folder Warning: The For Each File enumerator is empty. The For Each File enumerator did not find any files that matched the file pattern, or the specified directory was empty"
I suspect it is a permissions error, but I haven't dealt much with the permissions in Microsoft SQL Server and the service account that I am using was not created by me. I have tried changing the security of both package and project from the default "Encrypt sensitive data with user key" to "Do not save sensitive data", rebuilding and redeploying but that didn't help at all.
It is most likely a permissions error but I've been puzzled on how to go about it. Any help is much appreciated!
EDIT: After setting the "Delay Validation" on tasks in the control flow and executing the package with SQL Server Agent it now comes back with 2 less errors
For filesystem task to work the executing account need permission to the folder in question. When you execute the package via the SQL-agent the package is executed under the account running the SQL-agent account, when you right click the package and press execute the package is executed as your account.
One problem could be that the SQL-agent account doesn't have permission to the folder, and can't enumerate the content. You can verify this by changing the SQL-server account to your own account temporary and running the job again:
Open Sql Server Configuraiton Manager
Under SQL Server Services double click SQL Server Aggent
Change the account to your own account
Restart the service
If this resolvs the problem, change back to the SQL-server account and check the folder permissions on the folder you are trying to enumerate. Add the SQL-agent account or group the account is included in to have permission to read the folder. Obviously you can also just check the folder permissions to begin with, and make sure the executing account have permission to it.
I set up my visual studio to always run as administrator.
When I create a new Entity Data Model, and try to point to the data source to a specific database, I get the error "Login failed. Log in is from an untrusted domain...."
I think that since I set VS up to run under administrator, Administrator needs access to at least one database, so I set that up as well.
But I am still getting the same issues.
See screenshots.
There is a bug with Microsoft.
The server name dropdown box doesn't always list the right servers.
It was listing a server that did not exist.
Somehow, it gets this information, from somewhere--I don't exactly know how--but I did have the posted server name on a different machine at one point in time.
I clicked on the ddl and picked the first one, assuming it found my server, but in fact the server did not exist.
I had to copy paste this in: DESKTOP-DLASSIT\SQLEXPRESS
Because that was the real name of my server.
Then, it worked...
Cannot seem to find any concise information on this at all so trying my luck here.
Recently have setup Integration Services Catalogs because at present all our SSIS packages are stored within a folder and just ran as a File. We wish to move these, which has worked fine.
I have created a basic SSIS Package that puts a Username into a SQL Table and then also a File System Task to Delete a File.
When the package is ran from the Catalog via SSMS it completes the SQL side of things perfectly fine, placing both the Username running the package and the data into the SQL table, however it fails on the File System Task with
"File System Task: Error: An error occured with the following error message : "Access to the path "xxxx" is denied.
I have changed the SQL Agent Job on the SQL Server to have the permissions of our Administrator Account with no luck.
I can confirm the folder in question is Shared, it has FULL Read/Write Permission to "Everyone" and yet I still get this error.
I even went to the trouble of creating a new folder and just enabled full sharing to everybody on it - I still get the same access is denied.
Seen a previous post on stackoverflow about NETWORK SERVICE being added, can also confirm that this has full permission to the folder and thus it rules this out also.
Any thoughts would be appreciated.
A windows application that I wrote some years ago required some changes recently (originally written in VS2005, modified using VS2008, and now updated/modified as a VS2012 project).
The application contains a Microsoft report that contains two sub-reports. The sub report data is a dataset, populated during a ReportViewer1.LocalReport.SubreportProcessing event.
A new field was added to the main report, but the sub-reports were not modified. The report works as expected on the development PC, but when installed on the client laptop, the sub-reports fail with the message:-
Data retrieval failed for the sub-report, <report name>, located at <report...rdlc>. Please check the log files for more information
No log files are produced on the client laptop
I tried to manually install the CTP 2012 Microsoft Report viewer, but the install fails, reporting that a newer version is already present (possibly from SQL Server Express 2012, also installed at the same time).
The database used for testing is restored from a live backup, so the data is the same. The sub-report event that adds the ReportDataSource to the sub-reports contains a try-catch block which doesn't raise any exceptions
During development, when I opened the reports in VS2012, a dialog opened that asked if they should be updated to the 2012 format, which I allowed, althoug this probably has no bearing on the fault.
Has anyone come across this issue? Is there a way to force the physical output of a log file on the client laptop?
UPDATE
Putting some MessagesBoxes in the code I have found the reason that sub-reports do not process, but I now need to find out why.
The 'LocalReport_SubreportProcessing' event fires twice for my report - once for each sub-report.
In order to identify which sub-report needs the additional data source, I check the value of 'SubreportProcessingEventArgs.ReportPath'. In my dev system it has the name of the report (minus the .rdlc extension) but, on the client laptop the value is empty.
I can't see how the reports get built into the output. Tthe main report shows OK on the laptop (just missing the sub-reports), although from where it is displayed I don't know at present - more investigation required!
I have just stumbled upon the same problem. Don't you hate Microsoft sometimes for doing it to us?
Anyway I think that the best solution is to check SubreportProcessingEventArgs.DataSourceNames[0] instead of checking SubreportProcessingEventArgs.ReportPath. This will (I checked) have the name of the data source for the subreport.
If you name your datasources uniquely you can identify which subreport is calling an event and set the data source properly. I usualy name my data sources as {SubreportName}DataSet, so all my data source names have the subreport name in them. Good luck.
After I uploaded my application created using cakephp, I found out that I had to rename the database. I renamed my database accordingly and changed the settings in the database.php file in the "config" folder. But my application is still not running.
I am being shown this error message
"Missing Database table"
"Error: Database table tbl_topics for model Topic was not found."
I have double checked the existence of tbl_topics in the database (it is there in the database) but the application says "table not found"
what might be the problem, please help me out...
Make sure the host/user/pass that you've set-up in the config.php file have access to that database and table
You could also try running cake schema generate --dry which will spit back any problems with the connection that you might be having
Also have a look in your app/tmp/logs for some extra information on the problems you are experiencing
Take the username and password you are using for cakephp and it's db connection and connect to the database from the command line. I'm presuming you are using a unix-type system and mysql?
mysql --user=user_name --password=your_password db_name
...and then try to run a simple select:
SELECT * FROM tbl_topics
If you get an error there, it will at least identify that it is a low level db problem and the likely solution is that you need to grant permissions to that username to select from that database. Your current access levels for that user is probably granting access to the db under the old name.
You have probably uploaded your cache files as well. Make sure you delete all the files in /app/tmp/cache/*
Warning: Don't delete the folders, files only!
Also, make sure your tmp folder and all the subfolders are world-writable.
One last thought would be to check your model cache. I don't know why that would impact you with respect to connecting, but it's worth taking a look in app/tmp/cache.
:-)
finally got it.... :-D
I forgot to assign the user access to my application's database on main server. After assigning the permissions all went fine.
Anyways thank you all for your valuable answers... It helped me gain some additional knowledge about cakephp.