簡體   English   中英

來自C#的Oracle無效數字錯誤

[英]Oracle Invalid number error from C#

我在C#.Net應用程序中運行以下代碼,但我不斷收到錯誤ORA-01722:無效編號 當直接在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

我發現了問題。 視圖中的數字列之一使用逗號(,)作為小數點分隔符,而表則期望使用點(。)。

感謝您的幫助。 :)

我不確定這是否會導致Developer和您的客戶端之間發生不同的行為,但是您假設視圖和表中的列順序相同。 盡管不太可能 ,但是它可能試圖將視圖中的列中的char數據插入表中的number字段中,而只是將它們的排序方式不同。 嘗試在插入和選擇中都指定列名,看看是否有幫助。 我還想知道是否存在日期格式不匹配,但我看不出這將如何在一條語句中引起問題。 如果這是簡化版本,那么實際版本是否有任何參數?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM