我正在使用ODP.NET和Oracle 10g将数据从数据表传输到数据库表。 我正面临的问题是,当试图将一个值插入NUMBER(12,3)列时。该值是100100100,55 - 我得到的错误: 错误行“1”列“6” ORA-26093:输入数据列的大小(24),超过最大输入的大小(22)Oracle列/值大小问题
但是,如果我尝试100100100,5它工作正常
此错误消息对我没有意义。
任何人都可以解释我为什么吗? 谢谢!
而且,这里是抛出这个错误的代码段:
OracleBulkCopy bc = new OracleBulkCopy(DBFacade.DbConnection);
DataTable dt = new DataTable();
dt.Columns.Add();
dt.Rows.Add(100100100.11);
bc.DestinationTableName = "tmp_import_bom";
bc.ColumnMappings.Add(0, "QTY");
bc.WriteToServer(dt);
关于它的思考我认为我的答案没有帮助,所以我删除了它,我认为有一些特定于此错误的Oracle,因为它似乎表示您的总数为12的数字大小为24,并且不适合22.我建议编辑这个问题,特别是标题,使其成为一个通用的Oracle问题,你可能会有更多的人看着它,并希望得到更好的答案。 – 2011-03-02 09:10:45
感谢您的意见 – maephisto 2011-03-02 09:31:32
您的专栏是12,3所以你如何超过最大输入22? – V4Vendetta 2011-03-02 10:24:08