繁体   English   中英

Filehelpers数据链接以连接到Oracle DB

[英]Filehelpers datalink to connect to Oracle DB

http://filehelpers.sourceforge.net/example_sqlstorage_extract.html

上面的示例连接到SQl服务器。

我的要求是连接到Oracle DB.I在filehelpers中找不到可用于连接到oracle DB的类。 如果您有任何想法,请帮忙。 非常感谢。

您可以使用GenericDatabaseStorage<T>类,该类采用任何ADO.NET IDBConnection类型。 以下是FileHelpers源代码中的示例。

[TestClass]
public class GenericDatabaseStorageTests
{
    [TestMethod]
    public void CurrencyOracleExtractToFile( )
    {
        GenericDatabaseStorage<OracleConnection, OracleCommand> storage =
            new GenericDatabaseStorage<OracleConnection, OracleCommand>( 
                typeof(TestRecord), 
                "User Id=SHELL;Password=shell;Data Source=ora9dev"
            );

        storage.SelectSql = "SELECT * FROM CURRENCY";
        storage.FillRecordCallback = new FillRecordHandler( FillRecordOrder );

        FileDataLink.EasyExtractToFile( storage, "tempord.txt" );

        FileDataLink link = new FileDataLink( storage );
        link.ExtractToFile( "tempord.txt" );

        TestRecord[] res = (TestRecord[])CommonEngine.ReadFile(typeof(TestRecord), "tempord.txt");

        if ( File.Exists( "tempord.txt" ) )
            File.Delete( "tempord.txt" );

        Assert.AreEqual( 3, res.Length );

        Assert.AreEqual( "AED", res[ 0 ].CurrencyCode );
        Assert.AreEqual( "AFA", res[ 1 ].CurrencyCode );
        Assert.AreEqual( "ALL", res[ 2 ].CurrencyCode );
    }

    public void FillRecordOrder( object rec, object[ ] fields )
    {
        TestRecord record = ( TestRecord )rec;

        record.CurrencyCode = ( string )fields[ 0 ];
        record.Name = ( string )fields[ 1 ];
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM