我有一个巨大的日志文件,其中有大约1500万行.我必须将所有这些行移植到Oracle数据库.这就是我要做的事情:
导入完成后,我说:
bulkCopier.Dispose();
dataTable.Dispose();
然而,这对任何方式都无济于事.在任务管理器中,我看到内存使用量不断增长,直到内存不足为止.现在我的问题是没有Dispose()方法立即释放内存?如果是,那么为什么内存使用会累积,好像所有DataTable和OracleBulkCopy对象都保留内存一样.
数据库中有一个用户,授予CREATE PROCEDURE privelege.但是当该用户尝试创建一个简单的过程时,将引发以下错误:ORA-01031:权限不足01031. 00000 - "权限不足"*原因:尝试在没有相应权限的情况下更改当前用户名或密码.如果尝试安装没有必要的操作系统权限的数据库,也会发生此错误.
这是程序的DDL:
CREATE OR REPLACE PROCEDURE TOTALBASE.ROUNDUP
(CUR OUT SYS_REFCURSOR )
AS
BEGIN
OPEN CUR FOR
SELECT * FROM TOTALBASE.ABONENT;
END ROUNDUP;
Run Code Online (Sandbox Code Playgroud)
我还应该考虑做些什么呢?我怀疑,即使授予了privelege不在管理员或ORA_DBA组中的任何人也无法创建过程.但我不确定.
我最近开始使用水晶报表。已经能够创建报告,并且大部分都完成了。但突然间我开始丢失在文本框对象内所做的任何更改。我编辑一个文本框,保存报告并关闭它。然后我重新打开它以查看更改没有保留。我重新启动了 Visual Studio 甚至机器,但没有任何帮助。我使用 VS 2012。有没有人经历过这样的事情?
直到最近我才在每次更新时更改我的精灵的x坐标,我很高兴.但是昨天当我处于debugDraw模式时,我发现在某些速度之后,物理体不会与精灵正确对齐,如下所示:
后来我被告知,(通过cocos2d论坛中的Birkemose)将物理体从A移动到B的首选方法是对它施加冲动.但我不知道如何以这种方式实现恒速.这是我用来移动它而不应用任何冲动的代码:
-(void)update:(CCTime)delta{
rollingHero.position=ccp(rollingHero.position.x+scrollSpeed*delta,
rollingHero.position.y);
physicsNode.position=ccp(physicsNode.position.x-scrollSpeed*delta,
physicsNode.position.y);
}
Run Code Online (Sandbox Code Playgroud)
因此,为了创造一种移动的感觉,我以相同的滚动速度滚动物理节点和英雄在相反的方向.我尝试了许多应用冲动的不同变体,但我从未让它以恒定速度移动.速度加快,英雄脱离屏幕.如果有人发布示例代码,我将非常感激.
在我的ASP.NET MVC应用程序中,我有一个ErrorController,目前只有一个动作方法接收一个名为Error的自定义类,并将其呈现给名为Error.cshtml的视图.目前,Error类中只有2个属性:
public class Error{
public string UserFriendlyMmessage{get;set;}
public string ErrorMessage{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
Error.cshtml视图强类型为Error类.每当在action方法中抛出异常时,我都会执行以下操作:
Error error = new Error { UserFriendlyText = "The friendly message", ErrorDescription = "Error to be logged" };
return RedirectToAction("Index", "Error", new System.Web.Routing.RouteValueDictionary(error));
Run Code Online (Sandbox Code Playgroud)
这是ErrorController的action方法:
public ActionResult Index(Error error)
{
return View(model: error, viewName:"Error");
}
Run Code Online (Sandbox Code Playgroud)
虽然这很好用,但这样所有的模型属性都显示在url中.有没有更好,更常用的方法呢?
在某些地方,我使用#if DEBUG编译器指令来选择要编译的代码。直到不久前,我还能够以调试或发布模式发布 ASP.NET MVC 应用程序。事实上我仍然可以做到这一点。但现在,由于某种原因,无论我选择哪种模式,我在输出中都只能得到 Release 代码。如果我使用 .NET Reflector 查看生成的 dll,我可以看到后面的代码#if DEBUG不存在。我已经Define DEBUG constant在项目属性中检查了调试模式。我可以让它工作的唯一方法是显式定义 DEBUG 常量。除了发布时的设置之外,还有其他地方可以配置发布设置吗?
当我的应用程序启动时,在启动视图完全加载之前会出现黑屏.有什么方法可以在应用程序加载时获得进度视图.就像Mac,Windows或任何简单的应用程序都有一个预加载屏幕.
我在Delphi中编写了一个应用程序.到窗口状态我已经给出了wsMaximized.表单上有三个按钮,分别固定在左侧,顶部和底部.当我在自己的笔记本电脑上运行应用程序时,我可以看到所有三个按钮,但是当我在其他计算机上运行时,有时按钮完全不可见,有时我只能看到一个.我无论如何都无法触及软管按钮.但是,如果我改变屏幕分辨率,我可以看到它们.但是对于某些计算机,即使提供最大分辨率,我也看不到它们.我该怎么办这个问题?
我在windows目录的win.ini文件中放置了一个自定义条目,在自定义[Login]部分下名为LoginCount,并在每次加载主视图时递增.在Form Create事件中,我访问win.ini并检查其值,如果达到1000,我会显示一条消息.但是发生了一件非常奇怪的事情.达到1000后,我手动将其值设置为0.但它仍然显示1000.我检查了路径,以防应用程序引用系统中的某个其他win.ini文件,但它是C:\ Windows\win.ini .这是代码:
procedure TfMain.FormCreate(Sender: TObject);
var
winIni: TIniFile;
windir_buf: array [0 .. 144] of Char;
WINDIR: string;
loginCount: integer;
begin
GetWindowsDirectory(windir_buf, sizeof(windir_buf));
WINDIR := StrPas(windir_buf) + '\';
ShowMessage(WINDIR+'win.ini');//Shows C:\Windows\win.ini
winIni := TIniFile.Create(WINDIR + 'Win.ini');
loginCount := winIni.ReadInteger('Login', 'LoginCount', 1);
ShowMessage(IntToStr(loginCount));//Shows 1000 although it's 0 in the actual file.
end;
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?
asp.net-mvc ×2
delphi ×2
c# ×1
debug-mode ×1
dispose ×1
file ×1
ini ×1
ios ×1
iphone ×1
objective-c ×1
ora-01031 ×1
oracle ×1
physics ×1
position ×1
preloading ×1
privileges ×1
publish ×1
regex ×1
resolution ×1
screen ×1