2010-08-14 74 views

回答

9

您可以使用与您在C#中使用的相同的库 - .NET互操作性是F#的关键功能之一。 Base Class Library中有一些类可以使用(在System.Data.Oracle.dll中),但已弃用这些类以支持Oracle自己的.NET驱动程序(用于.NET的Oracle Data Provider)。

使用ODP.NET可能看起来像

F#代码:

#if INTERACTIVE 
    #r "System.Data" 
    #r "Oracle.DataAccess" 
#endif 

open System.Data 
open Oracle.DataAccess.Client 

let conn = OracleConnection("User Id=scott;Password=tiger;Data Source=oracle") 
conn.Open() 

let cmd = conn.CreateCommand() 
cmd.CommandText = "select * from emp" 

let rdr = reader = cmd.ExecuteReader() 

let empIds = 
    [while reader.Read() do 
    yield reader.GetInt32(0)]