我整个星期都在工作,以解决生产错误.
我终于找到了能够找到导致所有混乱的罪魁祸首的记录.
我有以下错误消息:
java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-01438: value larger than specified precision allows for this column
Run Code Online (Sandbox Code Playgroud)
事件来自所有信息,我认为这可能是错误的数据,系统正试图插入:
10385274000
Run Code Online (Sandbox Code Playgroud)
进入一个数字(10)
我怎么知道这个值是否合适?
谢谢
编辑
根据Michel Todd的建议:
create table xyz( testfield number( 10 ) );
insert into xyz values( 10385274000 )
Error: ORA-01438: value larger than specified precision allowed for this column
Run Code Online (Sandbox Code Playgroud)
感谢你们!!!
谢谢stackoverflow
编辑
给自己的注意事项(不要忘记是什么问题)
我有这个Oracle产品,它在数据库表中存储事件的时间
START_TIME|END_TIME
Run Code Online (Sandbox Code Playgroud)
事实证明,每隔一夜它就会将这些信息备份到另一个表中,但会在此过程中执行转换.它存储为:
TOTALTIME
Run Code Online (Sandbox Code Playgroud)
当通过减去ENDTIME - STARTTIME计算此字段时出现问题.结果编号存储在此列中,定义为:NUMBER(10)
好吧,事实证明,如果END_TIME-START_TIME在时间上太远(大约4个月左右),那么这个值(以毫秒为单位)会很大,它将不适合目标列(我猜它有类似于endTime的东西) .getTime() - 代码中的startTime.getTime())
所有这些听起来太容易而且太傻了,但我花了4天时间才发现,因为这是一个封闭的应用程序,我不知道发生了什么,我唯一得到的就是堆栈跟踪.
我不得不对整个过程进行逆向工程(在OLD意义上,用手,显然是从源头开始)找到这个.
当我这样做时,我的"手动编码迁移器"中出现了同样的错误,并找出解决方法!
<input type="text" id="title" name="title" size="50" maxlength="110" />
Run Code Online (Sandbox Code Playgroud)
你看,maxlength是110,但是当我发现我使用时输入了114个字符时,我很震惊
echo strlen($title);
Run Code Online (Sandbox Code Playgroud)
任何的想法?
顺便说一句,我输入的是日文文本.怎么了?
我的问题是,假设我有一个asp:文本框,并且我没有指定它的MaxLength属性,那么它将是无限制的默认长度或者字符数有一些限制.这个问题似乎很容易回答某人,但我不清楚
先感谢您
MySQL 中列名的最大长度为 64(您可以查看文档)。我的问题是我该如何改变它。更具体地说,我想增加它。可以做到吗?如果是,应该怎么做?
编辑:关于动机的几句话:这些表格是在输入字符串时自动创建的,不需要可读,因为它们正在被软件使用。另一种方法是提供一些“id”作为列名而不是输入字符串连接。但是增加列名长度可以解决它而无需任何代码更改。
谢谢,
利奥尔
有没有人知道为什么不能在Android上使用DELPHI XE7(更新1)使用TEdit的MaxLength?
有没有解决方案来解决这个问题?
我试图找出Java API中AppEngine 密钥名称的最大长度.
这个问题之前的问题要少得多:
数据存储区实体key_name可以有多长(最大字符数)?持有很长的key_names是不是很糟糕?
并收到两个相互矛盾的答案(对我来说似乎不太可信的答案......)
@ryan能够在他的回答中提供相关Python API源代码的链接,并且我一直试图在Java API中找到类似的东西.
但Key.java,KeyFactory.java和KeyTranslator.java似乎都没有对name密钥的属性强制执行任何限制.因此,如果存在限制,则在其他地方实施.KeyTranslator调用com.google.storage.onestore.v3.OnestoreEntity.Path.Element.setName(),这可能是实现限制的地方,但不幸的是我无法在任何地方找到此类的来源......
具体来说,我想知道:
如果是硬限制:
如果是推荐:
最后,如果我只是尝试通过尝试存储长度增加的密钥来测量此限制,直到我得到一些异常,如果我只创建具有相同祖先路径和相同长度类型的密钥,我是否能够依赖于我找到的限制在同一个应用程序?或者是否有其他可变长度组件可能会被添加并在某些情况下减少可用的键名长度?开发和生产服务器应该相同吗?
我在表单中使用 maxlength 但它抛出错误
错误类型错误:无法读取 null 的属性“maxlength”
我使用 maxlength 的部分表单:
<div>
<textarea AutoExpandTextArea [inputData]='model.title' maxlength="100" class="videoTitle" name="videoTitle" id="videoTitle" #videoTitle="ngModel" placeholder="Title" [(ngModel)]="model.title" required>{{model.title}}</textarea>
<span class="text-danger" *ngIf="submitted && loginform.form.invalid && videoTitle.errors.required">Title is mandatory</span>
<span class="text-danger" *ngIf="videoTitle.dirty && videoTitle?.errors.maxlength">Maximum 100 characters are allowed</span>
<textarea AutoExpandTextArea [inputData]='model.description' maxlength="120" class="videoDescription" id="videoDescription" name="videoDescription" #videoDescription="ngModel" placeholder="Description" [(ngModel)]="model.description">{{model.description}}</textarea>
<span class="text-danger" *ngIf="videoDescription.dirty && videoDescription?.errors.maxlength">Maximum 120 characters are allowed</span>
</div>
Run Code Online (Sandbox Code Playgroud)
页面加载时模型对象如下所示
this.model = {
description: '',
title: '',
}
Run Code Online (Sandbox Code Playgroud)
一旦我在文本区域中输入一些内容,错误就会开始出现。
我有一个指令也绑定到文本区域。不确定这是否导致问题。
我想让我的用户能够在输入字段中输入表情符号字符。我认为在 2019 年,这应该像将网站的元字符集设置为 UTF-8 一样简单。但是,在 Chrome 或 Firefox 中测试时,下面的示例对补充 UTF-8 字符(长度为 4 个字节)的计数有所不同。
\n在第一个输入中,我只能在便便之后再输入 2 个字符。在第二个输入中,我仍然可以再输入 3 个字符,之后\xe2\x80\xb0是 3 个字节长。
是什么导致了这种不一致的行为?是否还有其他 4 字节字符的 HTML 元设置?它在 Edge 17 中运行良好。即使是垃圾 IE 11 也能正确计算长度。
\n\n<input type="text" value="" maxlength="4" />\r\n<input type="text" value="\xe2\x80\xb0" maxlength="4" />Run Code Online (Sandbox Code Playgroud)\r\n我的测试用例:\n http://jsfiddle.net/L726ryea/7/
\n可以将[MaxLength()]属性与字符串和简单数组一起使用:
即:
[MaxLength(500)]
public string ProductName { get; set; }
Run Code Online (Sandbox Code Playgroud)
或者
[MaxLength(50)]
public string [] Products { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是它可以与列表一起使用吗?
即:
[MaxLength(50)]
public List<string> Types { get; set; }
Run Code Online (Sandbox Code Playgroud) 如何创建给定长度的列表?我希望我的列表只包含 3 个变量,它不应该扩展。
如何在 Dart/Flutter 中做到这一点?
maxlength ×10
html ×3
java ×2
list ×2
android ×1
angular ×1
asp.net ×1
c# ×1
columnname ×1
dart ×1
delphi ×1
delphi-xe7 ×1
firemonkey ×1
flutter ×1
html-input ×1
jdbc ×1
key ×1
localization ×1
mysql ×1
oracle ×1
php ×1
textarea ×1
textbox ×1
types ×1
typescript ×1
utf-8 ×1