我一直在使用参数化查询将值插入到Oracle表中,如下所示:
var q = "insert into MyTable(Field1, Field2...) values(:Field1, :Field2...)";
var cmd = new OracleCommand(q, conn); // conn is a pre-existing connection
cmd.Parameters.Add("Field1", field1Val);
cmd.Parameters.Add("Field2", field2Val);
// etc...
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
这一直工作正常,但突然这已停止工作,我收到Oracle错误ORA-01722(无效数字).我检查了参数,所有数字无疑都是有效的数字.我甚至为任何空值替换了虚拟值,我仍然得到错误.我在直接sql中尝试了相同的查询(使用OraDeveloper Studio),即使使用相同的参数也可以.
如何跟踪这个?
编辑:评论中的每个请求,这是创建表语句:
CREATE TABLE ALPHA.VISITFINDINGS (
ID NUMBER(12),
VISITID NUMBER(12) NOT NULL,
DESCRIPTION VARCHAR2(100),
CUSTOMIMAGE CLOB,
VISUALFINDINGSSECTIONMAPID NUMBER(12),
FINDINGSID NUMBER(12),
CONSTRAINT FK_VISITFINDINGS_AREA FOREIGN KEY (VISUALFINDINGSSECTIONMAPID)
REFERENCES ALPHA.VISUALFINDINGSSECTIONMAP(VISUALFINDINGSSECTIONMAPID),
CONSTRAINT FK_VISITFINDINGS_FINDINGS FOREIGN KEY (FINDINGSID)
REFERENCES ALPHA.FINDINGS(FINDINGSID),
CONSTRAINT FK_VISITFINDINGS_VISIT FOREIGN KEY (VISITID)
REFERENCES ALPHA.VISITS(VISITID),
CONSTRAINT PK_VISITFINDINGS PRIMARY KEY (ID))
TABLESPACE USERS …
Run Code Online (Sandbox Code Playgroud) 我需要删除给定字符串中的所有字符,除了应该留下的几个字符.如何用regexp做到这一点?
简单测试:不应删除字符[1,a,*],所有其他字符应来自字符串"asdf123**".
在.C#
我们可以使用以下类来进行编码:
System.Text.Encoding.UTF8
System.Text.Encoding.UTF16
System.Text.Encoding.ASCII
为什么没有System.Text.Encoding.Base64
?
我们只能使用Convert.From(To)Base64String
base64的特殊方法吗?
我可以说base64与UTF-8的编码方法相同吗?或者UTF-8是base64之一?
我有代码来解析日期字段只有当String不为null或为空但我得到以下异常
从字符串""到"日期"类型的转换无效.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.InvalidCastException:从字符串""到"Date"类型的转换无效.
来源错误:
Line 29:
Line 30: If (Not String.IsNullOrEmpty(last_login)) Then
Line 31: If String.Format("{0:MM/dd/yy H:mm:ss}", last_login) < Now.AddMinutes(-5) Then
Line 32: Return "height:100%;width:100% ;background-color:#FF0000;font-weight: bold; color: #000000"
Line 33: Else
Run Code Online (Sandbox Code Playgroud)
有人请解释一下?
因此,我们在具有16GB RAM的计算机上拥有32GB的生产数据库。多亏了缓存,这通常根本不是问题。但是,每当我启动数据库的pg_dump时,来自应用服务器的查询就会开始排队,几分钟后,队列就消失了,我们的应用陷入停顿。
我将第一个承认我们存在查询性能问题,并且正在解决这些问题。同时,我希望能够每晚运行pg_dump,这种方式可以从数据库中吸取信息,并且不会降低应用程序的性能。我不在乎是否要花几个小时。我们的应用程序未运行任何DDL,因此我不必担心锁争用。
为了解决这个问题,我正在使用niceice和ionice来运行pg_dump。不幸的是,这不能解决问题。
nice ionice -c2 -n7 pg_dump -Fc production_db -f production_db.sql
Run Code Online (Sandbox Code Playgroud)
即使有了ionice,我仍然看到上面的问题。似乎I / O等待,并且大量搜寻导致了该问题。
vmstat 1
Run Code Online (Sandbox Code Playgroud)
向我显示iowait徘徊在20-25%左右,有时会飙升至40%。实际CPU%的波动范围是2%-5%,有时会飙升至70%。
我认为锁不是罪魁祸首。当我运行此查询时:
select pg_class.relname,pg_locks.* from pg_class,pg_locks where pg_class.relfilenode=pg_locks.relation;
Run Code Online (Sandbox Code Playgroud)
我只看到标记为已授予='t'的锁。我们通常不会在生产中运行任何DDL,因此锁似乎不是问题。
这是启用了WCHAN列的ps的输出:
PID WIDE S TTY TIME COMMAND
3901 sync_page D ? 00:00:50 postgres: [local] COPY
3916 - S ? 00:00:01 postgres: SELECT
3918 sync_page D ? 00:00:07 postgres: INSERT
3919 semtimedop S ? 00:00:04 postgres: SELECT
3922 - S ? 00:00:01 postgres: SELECT
3923 - S ? 00:00:01 postgres: SELECT
3924 - S …
Run Code Online (Sandbox Code Playgroud) 在.NET中,整数数据类型是值类型(堆栈),String是引用类型(堆).
因此,如果A类有一个整数,并且其中有一个字符串类型对象,并且B类创建了一个A类对象,那么A类的这个对象将如何存储在内存中?在堆栈中,还是在堆中?
这是在我的微软采访中提出的.需要了解我的表现.
在我正在开发的项目中,我们将自动生成的DTO映射到业务对象.该数据库有一个啊哈不寻常的(但基本一致)的命名约定,这意味着它可能最DTO属性名称转换为等效的业务对象属性的名称,这样就节省了很多行代码.
例如,在DTO(和数据库)中,我们有一个名为的属性account_ID__created
,它将映射到一个名为的BO属性CreatedAccountId
.这是发生的一种转变MemberNameTransformer.GetBoMemberName()
,因此它不像使用不同分隔符的略微不同的约定那么简单.
按照我在AutoMapper源代码中提供的内容,我将此作为我的最佳猜测:
public class DtoBoMappingOptions : IMappingOptions
{
public INamingConvention SourceMemberNamingConvention
{
get { return new PascalCaseNamingConvention(); }
set { throw new NotImplementedException(); }
}
public INamingConvention DestinationMemberNamingConvention
{
get { return new PascalCaseNamingConvention(); }
set { throw new NotImplementedException(); }
}
public Func<string, string> SourceMemberNameTransformer
{
get { return s => s; }
set { throw new NotImplementedException(); }
}
public Func<string, string> DestinationMemberNameTransformer
{
get { return MemberNameTransformer.GetBoMemberName; } …
Run Code Online (Sandbox Code Playgroud) 我正在使用rails3-jquery-autocomplete
这里找到的宝石:http://github.com/crowdint/rails3-jquery-autocomplete
有关如何查询模型的单个属性的说明很明确,我可以毫无问题地完成这项工作.
但是,我的Person
模型有两个属性,我想要组合和查询.他们是first_name
和last_name
.我想将它们组合成一个名为的伪属性full_name
.目前,我收到此错误:
ActiveRecord::StatementInvalid (SQLite3::SQLException: no such column: full_name: SELECT "people".* FROM "people" WHERE (LOWER(full_name) LIKE 'cla%') ORDER BY full_name ASC LIMIT 10):
Run Code Online (Sandbox Code Playgroud)
full_name
虽然我在Person模型文件中有以下方法,但是没有Person模型的属性:
def full_name
"#{self.first_name} #{self.last_name}"
end
Run Code Online (Sandbox Code Playgroud)
如何修改Person模型文件以便调用full_name
查询数据库以匹配first_name
和last_name
?的组合?
我正在解析一个字符串,将其转换为DateTime.我在某些情况下遇到错误:
String was not recognized as a valid DateTime.
Run Code Online (Sandbox Code Playgroud)
只有当我从位于与美国不同的国家/地区的计算机上运行应用程序时才会出现此错误.我在字符串中看到的是09/20/2010 14:11
,在这种情况下,我得到一个例外.如果我有一个像这样的值:10/05/2010 12:54
我没有例外.我想事实是,这一天是20岁,这台电脑在欧洲,所以它认为20个月.问题是我强迫它成为美国:
CompletedDttm = DateTime.ParseExact(value, "MM/dd/yyyy hh:mm", new CultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)
因为我得到了例外,我想确定这是正确的方法.
任何想法如何解析字符串的方式无论我在机器上运行什么文化都有效?
我正在尝试使用PHP绑定到LDAP服务器.这是一个相当简单的过程,除了我无法绕过我得到的证书错误.我的身份验证凭据很好,因为我可以使用Apache Directory Studio连接到服务器.有没有办法自动接受服务器证书?与您如何使用Apache directory studio单击"Accept this cert .."类似?我知道这不是很好的安全性,但我只需要让它在这一点上工作,并且可以在以后解决证书问题.
谢谢