0

我在我的 C# .Net 应用程序中运行以下代码,但我不断收到错误ORA-01722: invalid number。当直接在 PL/SQL Developer 中运行相同的 SQL 时,它完全按照我的要求执行,而不会抱怨。

这可能是什么原因造成的?

OracleCommand command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = "insert into my_table ( select i.*, null from my_view i where i.usr_id is not null )";
command.ExecuteNonQuery();

注意:我正在使用 Oracle.DataAccess.Client

4

2 回答 2

2

我发现了问题。视图中的一个数字列使用逗号 (,) 作为小数分隔符,而表需要一个点 (.)。

感谢人们的帮助。:)

于 2010-08-11T13:56:02.220 回答
1

我不确定这是否会导致开发人员和您的客户之间出现不同的行为,但您假设视图和表格中的列顺序相同。尽管不太可能,但它可能会尝试将视图中的列中的 char 数据插入到表中的数字字段中,只是对它们进行不同的排序。尝试在插入和选择中指定列名,看看是否有帮助。我还想知道是否存在日期格式不匹配的问题,但我看不出这会如何在一个语句中导致问题。如果这是简化版,真版有参数吗?

于 2010-08-11T12:38:13.050 回答