سؤال

لقد كنت ألعب مع مكتبة Rhino ETL وكأنها حقا الاتجاه الذي يحدث. ومع ذلك، فقد وجدت أن الجزء السيئ حيال ذلك هو المستندات متناثرة ولا يبدو أن هناك معلومات جيدة كافية حول كيفية إنشاء عمليات خطوط الأنابيب هذه وخاصة استخدام DSL.

أحاول فقط إنشاء ملف DSL لتحميل ملف وتصدير البيانات إلى ملف آخر لمعرفة كيف يمكن أن يصلح كل ذلك معا. ما لدي حتى الآن هو هذا.

[DelimitedRecord("\t")]
class User:
  public Name as string
  public Phone as string
  public Email as string

operation import_file:
  file = Rhino.Etl.Core.Files.FluentFile(typeof(User)).From("""E:\Fake\Book1.txt""")
  for row in file:
    yield Row.FromObject(row)

operation export_file:
  file = Rhino.Etl.Core.Files.FluentFile(typeof(User)).To("""E:\Fake\Test.txt""")
  for row in rows:
    record = User(Name: row["Name"])
    file.Write(record)

process ImportFile:
  import_file()
  export_file()

إنه يلقي هذا الاستثناء

file.boo (1،2): bce0064: boo.lang.compiler.compilerError: لم يتم العثور على سمة مع اسم "delimitedrecord" أو "delimitedrecordattattat" (أسماء السمة غير حساسة للحالة). هل تقصد "system.diagnostics.delimitedlistTracelistener"؟

إذا قمت بإزالة جزء السمة أحصل على هذا الخطأ

استثناء: فشل في إنشاء خط أنابيب ImportFile: يجب وضع علامة على مستخدم الفصل مع السمة [delimitedrecord] أو [fixtlengthordrecord]. استثناء: فشل تنفيذ ملف التشغيل .MPORT_FILE: يجب وضع علامة على مستخدم الفصل مع سمة [delimitedrecord] أو [fixtlengthdrecord].

أي أفكار هنا؟ أو هل هناك أي أمثلة على كيفية استخدام Fluentfile داخل DSL ل Rhino ETL؟

هل كانت مفيدة؟

المحلول

ال delimitedrecordatttribute. في ال filehelpers. الجمعية، اسم ملف filehelpers.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top