2010-10-27 105 views
11

我需要將C#.net應用程序中的數組傳遞給Oracle存儲過程。 任何人都可以讓我知道如何去做? 另外,在將輸入參數傳遞給存儲過程時,在C#中使用哪種OracleType類型?將.Net應用程序中的數組傳遞給Oracle存儲過程

僅供參考,我在我的C#應用​​程序中使用System.Data.OracleClient。

謝謝。

回答

7

Jimmy, System.Data.OracleClient不支持數組。
http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/57a59fba-09e2-46cb-a072-6706b3ec5131

根據你的需要,你要麼需要通過嵌套表類型來實現這一點(通過的UDT或副教授。數組)使用ODP.net客戶。這可能是一個好的方向,尤其是。因爲.net 4.0有deprecated System.Data.OracleClient

但如果你堅持的System.Data.OracleClient的,你真的只是盡在列表的變量,你可以通過傳遞一個字符串,以下一些建議這樣做: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:210612357425

希望這可以幫助

2

您應該使用DB定義的嵌套表類型將數組傳遞給PL/SQL。看看this nice tutorial,它可能會幫助你。

+0

嗨,感謝您的回答,但這種方法需要Oracle .NET驅動程序Oracle.DataAccess,而我正在使用Microsoft System.Data.OracleClient。 – Jimmy 2010-10-27 11:10:16

+0

@Jimmy你好。我懇求我的赦免,我不注意。必須承認,我不知道如何解決你的問題與System.Data.OracleClient :) – andr 2010-10-27 12:01:52

+1

這是最好切換到Oracle驅動程序。更多的功能,他們會支持未來。這是另一個接受數組的過程的例子。 [鏈接](http://stackoverflow.com/questions/831188/how-to-create-a-stored-procedure-in-oracle-which-accepts-array-of-parameters) – MonkeyWrench 2011-10-27 19:45:35

相關問題