Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于连接到Oracle DB的Filehelpers数据链接_C#_Oracle_Filehelpers - Fatal编程技术网

C# 用于连接到Oracle DB的Filehelpers数据链接

C# 用于连接到Oracle DB的Filehelpers数据链接,c#,oracle,filehelpers,C#,Oracle,Filehelpers,上面的示例连接到SQl server 我的要求是连接到Oracle DB。我在filehelpers中找不到可用于连接到Oracle DB的类。如果你有任何想法,请帮忙。非常感谢。您可以使用GenericDatabaseStorage类,该类采用任何ADO.NETIDBConnection类型。以下是来自的示例 [TestClass] 公共类GenericDatabaseStorageTests { [测试方法] public void CurrencyOracleExtractToFile()

上面的示例连接到SQl server


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

您可以使用
GenericDatabaseStorage
类,该类采用任何ADO.NET
IDBConnection
类型。以下是来自的示例

[TestClass]
公共类GenericDatabaseStorageTests
{
[测试方法]
public void CurrencyOracleExtractToFile()
{
通用数据库存储=
新的通用数据库存储(
类型(测试记录),
“用户Id=SHELL;密码=SHELL;数据源=ora9dev”
);
storage.SelectSql=“选择*来自货币”;
storage.FillRecordCallback=新的FillRecordHandler(FillRecordOrder);
EasyExtractToFile(存储,“tempord.txt”);
FileDataLink=新的FileDataLink(存储);
link.extractofile(“tempord.txt”);
TestRecord[]res=(TestRecord[])CommonEngine.ReadFile(typeof(TestRecord),“tempord.txt”);
if(File.Exists(“tempord.txt”))
删除(“tempord.txt”);
断言长度相等(3,res.Length);
Assert.AreEqual(“AED”,res[0].CurrencyCode);
Assert.AreEqual(“AFA”,res[1].CurrencyCode);
Assert.AreEqual(“ALL”,res[2].CurrencyCode);
}
public void FillRecordOrder(对象记录,对象[]字段)
{
TestRecord记录=(TestRecord)记录;
record.CurrencyCode=(字符串)字段[0];
record.Name=(字符串)字段[1];
}
}

哦,太好了。非常感谢。是否有办法将相应的列名与数据一起放入文件中?您可以将
engine.HeaderText
设置为。
[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 ];
    }
}