小编Joh*_*rne的帖子

我怎么知道10385274000是否符合:Oracle的NUMBER(10)?

我整个星期都在工作,以解决生产错误.

我终于找到了能够找到导致所有混乱的罪魁祸首的记录.

我有以下错误消息:

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意义上,用手,显然是从源头开始)找到这个.

当我这样做时,我的"手动编码迁移器"中出现了同样的错误,并找出解决方法!

java oracle types jdbc maxlength

4
推荐指数
1
解决办法
1万
查看次数

为什么 RAZOR 输出一个大写的布尔值?

@{
    bool a = false;
 }    

<script>

var element = '<a href="www.testurl.com" + '?a=' + @(a)';
$('#anyElement').append(element);

</script>
Run Code Online (Sandbox Code Playgroud)

锚标记将具有 www.testurl.com?a=False 的 href

至少在 IE11 中,变量 a 将呈现为 False 而不是 false。这会导致 ECMAScript 错误,因为现在 JavaScript/ECMAScript 编译器认为 False 是未定义的变量。

为什么 RAZOR 不以小写形式呈现此变量?

.net html c# asp.net-mvc razorengine

4
推荐指数
1
解决办法
2300
查看次数

空构造函数在C#中提供了哪些好处?

我来到C#的现有项目.我可以看到几个类都有空参数构造函数.公共的,或内部的.课程本身也是公开的或内部的.我既看不到其他的构造函数,也看不到继承.我想知道这有什么好处.

我期望如果绝对没有构造函数,那么C#编译器总是会创建一个无参数的空构造函数.所以我的问题是:当前代码(在上述条件下)是否与没有构造函数不同?我认为唯一的特殊情况是公共类中的内部构造函数.我错过了更多的东西吗?

c# constructor default-constructor

3
推荐指数
1
解决办法
146
查看次数

为什么我的StreamWriter没有写入.txt文件?

我试着一个文件,但它仍然是空的 ......

 FileStream f = new FileStream("HighScore.txt", 
                                FileMode.OpenOrCreate, 
                                FileAccess.ReadWrite);

 StreamWriter streamWriter = new StreamWriter(f);
 streamWriter.WriteLine("aaaaa");
Run Code Online (Sandbox Code Playgroud)

有没有人遇到这个问题,可以帮助我吗?

c# stream

2
推荐指数
1
解决办法
54
查看次数

为什么@ Url.Action在ASP.NET Core中导致编译时错误?

我无法在ASP.NET Core中使用@ Url.Action,因为出现错误:

IUrlHelper没有名为Action的适用方法

我想将@ Url.Action用于:

<a href="@(Url.Action(ViewBag.actionName, ViewBag.controllerName, new { page = i }) + ViewBag.routeValues)">page i</a>
Run Code Online (Sandbox Code Playgroud)

在ASP.NET MVC中,它生成了我的网址,例如:

/ Home / List?page = 5&search = abc

在ViewBag.routeValues中,我传递其他参数,例如:search = abc&active = true并将其粘贴到'page'参数之后的 url中。

我认为使用标签帮助程序和“ asp-route”无法做同样的事情-那我该怎么办?


好的-我需要将ViewBag字符串化:

<a href="@(Url.Action((string)ViewBag.actionName, (string)ViewBag.controllerName, new { page = i }) + (string)ViewBag.routeValues)">page i</a>
Run Code Online (Sandbox Code Playgroud)

asp.net-core

1
推荐指数
1
解决办法
6839
查看次数

如何在.NET的MVC中对视图模型执行Enum绑定?

如何将枚举绑定到MVC中的下拉列表以使模型在发布后有效?不确定是否需要转换器或其他东西,我提供代码,您推荐的解决方案是什么? (以下代码导致ModelError)

枚举:

public enum TimePlan
{   Routine = 0,
    Single = 1 }
Run Code Online (Sandbox Code Playgroud)

该模型 :

 public TimePlan TheTimePlan { get; set; }

 public SelectListItem[] TimeList { get; set; }
Run Code Online (Sandbox Code Playgroud)

控制器:

    [HttpPost]
    public virtual ActionResult Education(EducationViewModel EducationModelInfo)
    {
        if (ModelState.IsValid)
        { ...
    } }
Run Code Online (Sandbox Code Playgroud)

视图绑定:

@Html.DropDownListFor(m => m.CourseTimePlan, Model.TimeList, "Please select the time plan") 
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc enums type-conversion model-binding

0
推荐指数
1
解决办法
5744
查看次数

T-SQL -- 为什么 ALTER 和 UPDATE 语句只在分离到它们自己的批处理中时才运行?

我有 update 和 alter 语句,它们仅在将它们放入自己的批处理中时才运行。下面是我的精简版。

DROP TABLE #tmpImportData
USE database_name
GO

DECLARE @localVar VARCHAR(MAX) = 'data'
DECLARE @localVar VARCHAR(MAX) = 'data'
DECLARE @localVar VARCHAR(MAX) = 'data'
DECLARE @localVar int = 1
--Etc...

DECLARE @localVar INT
DECLARE @localVarVARCHAR(50)    
DECLARE @localVar AS BINARY (16)    
---Etc...


CREATE TABLE #tmpImportData (GuideFirstName VARCHAR(MAX), GuideLastName VARCHAR(MAX), 
                             email VARCHAR(MAX), group_id_text VARCHAR(MAX), CandidateName VARCHAR(MAX), 
                             grade_text VARCHAR(5), dateofbirth DATETIME

                             )

SET @sql = 'BULK INSERT #tmpImportData FROM '''+@fileName+''' WITH (FIELDTERMINATOR ='';'', ROWTERMINATOR = ''\n'', FIRSTROW = 1)'
EXEC (@sql) …
Run Code Online (Sandbox Code Playgroud)

t-sql database sql-server alter-table sql-update

0
推荐指数
1
解决办法
1410
查看次数