0
サードパーティアプリケーションからフラットファイルをインポートするときにssdtがSQL Server 2014に「列デリミタが見つかりません」というエラーが発生しました。フラットファイルからデータをインポートするためのC#コード
C#コード:
string[] source = Directory.GetFiles(@"\\share\data\", "*.txt");
using(SqlConnection conn = new SqlConnection("Data Source=sql_server;Initial Catalog=test;Integrated Security=SSPI"))
{
string query =
"INSERT INTO dbo.srcText(uid, code, description) VALUES(@uid, @code, @description)";
using(SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.Add("@uid", SqlDbType.Int);
cmd.Parameters.Add("@code", SqlDbType.VarChar, 10);
cmd.Parameters.Add("@description", SqlDbType.VarChar, 500);
foreach (string loadData in source)
{
string[] allrecords = File.ReadAllLines(loadData);
conn.Open();
for (int index = 1; index < allrecords.Length; index++)
{
// how would I include multiple text qualifiers
string[] items = allrecords[index].Split(new char[] { '|' });
cmd.Parameters["@uid"].Value = items[0];
cmd.Parameters["@code"].Value = items[1];
cmd.Parameters["@description"].Value = items[2];
cmd.ExecuteNonQuery();
}
conn.Close();
}
}
}
がどのように複数のテキスト修飾子を扱うことで、これはより堅牢にするには?