目前我已经厌倦了尝试在Crystal Reports中修复此问题.我们有3个环境,即生产(共享)中的开发,部署和本地计算机.如果我与开发中的生产环境不完全匹配,Crystal Reports从不显示报告.我通过所有论坛进行了大量研究,并尝试了每一个解决方案.无论我尝试什么,当我尝试应用新的登录信息时它永远无法工作,当我循环表来测试连接时,它最终会失败:
foreach (CrystalDecisions.CrystalReports.Engine.Table table in document.Database.Tables)
{
TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
tableLogOnInfo.ConnectionInfo = info.ConnectionInfo;
table.ApplyLogOnInfo(tableLogOnInfo);
if (!table.TestConnectivity())
{
string msg = ("Failed to apply log in info for Crystal Report");
throw new ApplicationException(msg);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我更改了无效的用户或密码,它先前在SetConnection或SetDatabaseLogon中失败.我知道有一个错误,我无法从集成安全性更改为非集成安全性,因此我将自己的数据库设置为使用常规用户和密码凭据.
我可以清楚地看到连接没有设置,因为在我的开发计算机中我设置了无效的密码,它失败但是如果我继续我看到报告.在生产计算机中它总是失败并且它也不显示报告(为了调试目的而跳过错误).因此,似乎连接是硬编码的,无法更改.
有任何想法吗?我可以发布所有代码来更改连接信息,但我认为它不值得,它是众所周知的.
解
像许多人告诉我的那样,没有一个解决方案.它似乎取决于Crystal Reports版本,它的工作方式不同.在我的例子中,以下解决方案适用于Crystal Reports 10.5.3700.
public static void CrystalReportLogOn(ReportDocument reportParameters, string serverName, string databaseName, string userName, string password)
{
TableLogOnInfo logOnInfo;
ReportDocument subRd;
Sections sects;
ReportObjects ros;
SubreportObject sro;
if (reportParameters == null)
{
throw new ArgumentNullException("reportParameters");
}
try
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试为Android安装Xamarin,我有一个非常奇怪的问题,我无法在任何地方找到任何帮助.安装开始后,我点击屏幕上的"下一步"按钮,然后回答有关我是否要收集信息的问题,它没有做任何事情.由于内部错误,检查日志文件总是取消安装,我将复制提供给我信息的日志部分:
[287C:256C][2013-01-13T14:02:06]: Caching bundle from: 'C:\Users\MAXIPO~1\AppData\Local\Temp\{e9ab888e-6304-4ba3-b36a-b1a350d36592}\.be\XamarinSetup.exe' to: 'C:\ProgramData\Package Cache\{e9ab888e-6304-4ba3-b36a-b1a350d36592}\XamarinSetup.exe'
[287C:256C][2013-01-13T14:02:07]: Registering bundle dependency provider: {e9ab888e-6304-4ba3-b36a-b1a350d36592}, version: 3.0.0.0
[2464:19E4][2013-01-13T14:02:07]: Prompt for source of container: WixAttachedContainer, path: C:\Soft\Android\XamarinSetup.exe
[2464:19E4][2013-01-13T14:02:07]: Failed to resolve source for file: C:\Soft\Android\XamarinSetup.exe, error: 0x80070642.
[2464:19E4][2013-01-13T14:02:07]: Error 0x80070642: Failed while prompting for source (original path 'C:\Soft\Android\XamarinSetup.exe').
[2464:19E4][2013-01-13T14:02:07]: Failed to acquire container: WixAttachedContainer to working path: C:\Users\MAXIPO~1\AppData\Local\Temp\{e9ab888e-6304-4ba3-b36a-b1a350d36592}\4675EB82A6A7F3C48F80571AB6E8495BD1C803BA, error: 0x80070642.
[2464:2930][2013-01-13T14:02:07]: Error 0x80070642: Failed while caching, aborting execution.
Run Code Online (Sandbox Code Playgroud)
无法解析文件的源:XamarinSetup.exe.这个文件永远不存在,我甚至从来没有发现它甚至在安装过程中反复刷新文件夹,以防它在此过程中被删除.我可以看到它开始将文件复制到临时文件夹中,突然所有文件都消失了(我确定由于取消).我在Windows 7中运行它,任何想法?我一直在寻找一个解决方案,甚至在我的系统中更改权限,允许访问guest,我的用户,管理员,以及所有路径以防万一.
问候.
我正在尝试封装我使用jQuery,jQuery UI,jQuery Form和xmlDom构建的javascript.
我希望能够向我的客户端发送一个引用其他javascript的javascript,包括一小段用于选项设置的js.
在下面找一个例子:
<script language="javascript">
var myOptions = {
shop: 1,
style: "gold"
}
load();
</script>
<script src="http://myServer/myScript.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
我几乎不可能动态加载jQuery和插件.我读了很多例子,当我动态加载它时,jQuery工作正常,但其余的扩展从未正常工作.以下序列是加载至少几个插件的唯一序列:
设置一个动态加载jQuery的加载函数:
load = function() {
load.getScript(url_base + "/js/jquery-1.3.2.js");
load.tryReady(0);
}
load.getScript = function(filename) {
var script = document.createElement('script')
script.setAttribute("type","text/javascript")
script.setAttribute("src", filename)
if (typeof script!="undefined")
document.getElementsByTagName("head")[0].appendChild(script)
}
load.tryReady = function(time_elapsed) {
// Continually polls to see if jQuery is loaded.
if (typeof $ == "undefined") { // if jQuery isn't loaded yet...
if (time_elapsed <= 5000) { // and …Run Code Online (Sandbox Code Playgroud) 我必须使用来自Linux终端的Python从网页收集信息,它工作得很好,但是当我尝试使用requests.get时,一些页面(并非所有页面)都检索到无效的URL,因为它们有代理检测器并且他们不知道如何回答我的请求(我不是Linux终端上的浏览器或移动应用程序).
使用"User-Agent"标头也不起作用,我尝试了几种不同的方式来发送它来模拟我是一个Mozilla浏览器:
user_agent = {'User-Agent': 'Mozilla/5.0'}
Run Code Online (Sandbox Code Playgroud)
要么
user_agent = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4'}
Run Code Online (Sandbox Code Playgroud)
或许多其他组合.
在某些服务器中,当我尝试使用此行时:
page = requests.get(url, headers=user_agent)
Run Code Online (Sandbox Code Playgroud)
我收到了一个错误的请求,因为这些服务器试图向我发送桌面或移动浏览器的网页,但他们无法识别它.
以这种方式发送用户代理我做错了吗?我在Python笔记本中尝试了我的代码并且由于我当前(当然)从浏览器发送请求而完美地工作.
我一直在寻找一个更好的答案,即使解决了(不是很优雅),我也想知道是否还有其他方法。我继承了一个项目,我不能对其进行过多修改,我的意思是,我只能添加一些其他属性或重写方法,而不能更改基类或接口。
该项目包含一个类,该类继承WPF网格以修改行为的某些方面。我必须用图像添加一个新列(通过代码)。每个图像都已存储到Resource程序集中,并通过静态属性声明,例如,我需要的图标声明如下:
MyIcon.Source="{x:Static images:Common.Size_22.icon}"
Run Code Online (Sandbox Code Playgroud)
我需要在此列中使用此图标,并且尝试通过包进行各种声明,但该声明不起作用。最后,我决定嵌入此位图,并通过一个属性发送它:
<mygrid:MyGridControl Model="{Binding}" Refresh="{Binding Refresh}"
CommentsImageSource="{x:Static images:Common.Size_22.icon}" />
Run Code Online (Sandbox Code Playgroud)
创建图像单元时,还必须创建一个图像对象并使用Bitmap和BitmapImage之间的转换来设置源
image.Source = ToBitmapSource((System.Drawing.Bitmap)CommentsImageSource);
Run Code Online (Sandbox Code Playgroud)
它可以工作,但是我对这个决议感到非常失望,有没有更好的方法呢?我无法引用源文件以避免通过属性发送位图。