오라클에는 고정 길이 필드가있는 200 개 이상의 플랫 파일로 전환해야하는 200 개 이상의 뷰가 있습니다.
마이그레이션 프로그램 개선을위한 도움말
다음 마이그레이션 루틴의 더 나은 디자인을위한 아이디어를 얻기를 바랍니다.
:
StronglyTypedDataSet views = new StronglyTypedDataSet();
ViewName1TableAdapter tableAdapter = new ViewName1TableAdapter();
tableAdapter.Fill(views.VIEWNAME1 );
mapFromViewToFlatFile(views.VIEWNAME1);
현재 우리는 ODT (오라클 개발자 도구)를 사용하는을위한 닷넷 C#.
각보기의 매핑 루틴 :
private void mapFromViewToFlatFile(DataTable table)
{
StringBuilder format = BuildFormat();
StringBuilder outBuf = new StringBuilder();
foreach (views.VIEWNAME1Row row in table.Rows)
{
OneRow(outBuf, format, row);
}
SerializeToFile(outBuf, FILENAME);
}
private void OneRow(StringBuilder outBuf, StringBuilder format,views.VIEWNAME1Row row)
{
outBuf.AppendFormat(format.ToString(),
row.COLUMNNAME1.Trim(),
row.IsCOLUMNNAME2Null() ? string.Empty : row.COLUMNNAME2.Trim()
);
OutBuf.AppendLine();
}
private StringBuilder BuildFormat()
{
StringBuilder format = new StringBuilder();
format.Append("{0,-14}");
format.Append("{1,-36}");
return format;
}
오라클의 각 뷰의
10 개인 OneRow() 함수를
와 10 개인 BuildFormat() 함수 (하나를 작성 후이 코드는 냄새).
그리고 더 쉽고 빠르게 수행 할 수 있으므로 새로운보기를 쉽게 설정하고 변경 사항을보다 쉽게 처리 할 수 있습니다.
모든 의견을 환영합니다.
감사합니다.
@Adam Hawkes : 좋은 생각입니다. 감사합니다 +1 –