我正在运行2008 R2
我有一整套报告,我必须加载到RS.这些是由第三方开发并发送给我们公司的.它们连接到共享数据源.我将报告上传到按功能分隔的文件夹中.问题是他们没有看到报告编写使用的数据源.我创建了一个共享数据源并将报告指向它.连接测试成功但是当我运行报告时,我继续收到以下错误:
"报表服务器无法处理报表或共享数据集.报表服务器或SharePoint的共享数据源'dsMyObject'无效.浏览到服务器或站点并选择共享数据源.(rsInvalidDataReference)"
当我在嵌入式数据源中使用完全相同的凭据时,报表会运行,在我运行它之后,我可以将其更改回我创建的共享数据源,并且运行得很好.
我的问题是这个过程效率太低我需要很多报告,还有更多的服务器要滚动它,必须手动来回切换数据源才能使它工作.
我注意到,当我查看数据源列表时,我看到我在第一行创建的DS名称和下一行的位置(http:// [Server]/reports/[Data Source Folder]虽然供应商创建的DS在两行上都有DS的名称.这使我相信有一种方法可以将DS加载到SSRS中,并使用与供应商使用的相同名称来允许报告自动使用它们.我找不到任何告诉我如何做的事情所以我在这里问这个问题.如何获取预先编写的报告以查看我将报告部署到服务器上的共享数据源?
提前致谢,
我需要将文件FTP到目录.在.Net中,我必须使用目标文件夹上的文件来创建连接,因此我使用FTP手动将Blank.dat放在服务器上.我检查了访问权限(ls -l),它是-rw-r - r--.但是当我尝试连接到FTP文件夹时,我得到:"远程服务器返回错误:(553)文件名不允许"从服务器返回.我所做的研究表明,这可能来自权限问题,但正如我所说,我有权查看该文件,并可以从该文件夹运行ls.还有什么其他原因可能导致此问题,是否有办法连接到该文件夹而无需指定文件?
byte[] buffer;
Stream reqStream;
FileStream stream;
FtpWebResponse response;
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(new Uri(string.Format("ftp://{0}/{1}", SRV, DIR)));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(UID, PASS);
request.UseBinary = true;
request.Timeout = 60000 * 2;
for (int fl = 0; fl < files.Length; fl++)
{
request.KeepAlive = (files.Length != fl);
stream = File.OpenRead(Path.Combine(dir, files[fl]));
reqStream = request.GetRequestStream();
buffer = new byte[4096 * 2];
int nRead = 0;
while ((nRead = stream.Read(buffer, 0, buffer.Length)) != 0)
{
reqStream.Write(buffer, 0, nRead);
} …Run Code Online (Sandbox Code Playgroud) 有没有办法使用浏览器手动将xml发布到Web服务:
POST http://url/Endpoint <xml file text>
Run Code Online (Sandbox Code Playgroud) 我似乎无法找到关于如何为ReportingService导入正确名称空间的明确答案http://msdn.microsoft.com/en-us/library/aa258073(v=SQL.80).aspx.
我试图按照这里的说明 http://msdn.microsoft.com/en-us/library/aa237438(v=sql.80).aspx 但在创建控制台应用程序时没有显示添加Web服务选项.
有一个服务帐户.我应该只使用它吗?
我有以下代码在另一台服务器上运行良好.问题是该过程似乎永远不会使其进入退出状态.被调用的exe创建了一个文件作为最后一步,这个文件确实被创建了,但我的代码似乎永远不知道该进程已经完成.当手动运行时,被调用的exe也会在不到10秒的时间内运行.我的代码看起来像这样:
System.Diagnostics.Process proc = new System.Diagnostics.Process() proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = exeConf.CMD;
proc.StartInfo.Arguments = argString;
proc.Start();
proc.WaitForExit(10000);
if(proc.HasExited)
msgLine = proc.StandardError.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)