私はRhino ETLライブラリで遊んでいて、実際にそれが進む方向が好きです。しかし、私はそれについての悪い部分はドキュメントが疎であることを発見しました。これらのパイプラインプロセスを作成する方法、特にDSLを使用する方法については十分な情報がないようです。Rhino ETL DSLでFluentFileを使用するにはどうすればよいですか?
私は、ファイルを読み込んで別のファイルにエクスポートして、このすべてがどのように適合するかを確認する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 'または 'DelimitedRecordAttributeが' が見つかりませんでした(属性名前は大文字と小文字を区別しません)。あなたは 'System.Diagnostics.DelimitedListTraceListener'を意味しましたか?
私は属性部分を削除した場合、私はこのエラーに
例外を取得するには:パイプラインImportFileの作成に失敗しました:クラスのユーザーは、[DelimitedRecord]または[FixedLengthRecord]属性でマークされなければなりません。 例外:操作File.import_fileを実行できませんでした:クラスのユーザーは[DelimitedRecord]または[FixedLengthRecord]属性でマークする必要があります。
ここに任意のアイデアはありますか? DSL for Rhino ETLの中でFluentFileを使用する方法の例はありますか?
これは当てはまります。私は、FileHelpersアセンブリがプロジェクト内で参照されていることを確認しました。また、実行可能ファイルと同じフォルダにも参照されています。私はまた、私のDSLファイルの先頭に "import FileHelpers"を追加しようとしました。それは同じ例外を投げた。 –
さて、エラーは、属性クラスを見つけることができないと言いました。だから、いくつかの欠落している参照でなければなりません...あなたのブーコードを書くためにSharpDevelopを使ってみてください。また、サンプルを提供するためのこのetlサンプル:http://www.mail-archive.com/[email protected]/msg00343.html –
+1を参照してください。これは簡単に見つけることができません。 –