テキスト ファイル (.aspx、.cs、html など) を SQL Server 2008 データベースにロードしようとしています。これまでのところ、64 kb 未満のすべてのファイルを読み込むことができます。2 つの質問があります。64 kb の制限を回避するにはどうすればよいですか?また、これを行うために使用している方法は最善の方法ですか?
助けてくれてありがとう。
データベース:
file_length int,
file_path varchar(250),
file_string varchar(MAX)
private static void Load_Files()
{
string source = HttpContext.Current.Server.MapPath("~/website/");
DirectoryInfo di = new DirectoryInfo(source);
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
{
string sourceFile = f.FullName;
FileStream fs_reader = new FileStream(sourceFile, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs_reader);
string content = reader.ReadToEnd();
Int32 file_length = content.Length;
string CS = ConfigurationManager.ConnectionStrings["MCP_CS"].ConnectionString;
SqlConnection SQL_Conn_01 = new SqlConnection(CS);
string SQL_01 = "INSERT INTO Page_File_Store (file_length, file_path, file_string) VALUES (@file_length, @file_path, @file_string)";
SqlCommand SQL_File_Load = new SqlCommand(SQL_01, SQL_Conn_01);
SQL_File_Load.Parameters.Add(new SqlParameter("@file_length", file_length));
SQL_File_Load.Parameters.Add(new SqlParameter("@file_path", sourceFile));
//SQL_File_Load.Parameters.Add(new SqlParameter("@file_string", content));
SqlParameter contentParameter = new SqlParameter("@file_string", SqlDbType.VarChar, -1);
contentParameter.Value = content;
SQL_File_Load.Parameters.Add(contentParameter);
SQL_Conn_01.Open();
SQL_File_Load.ExecuteNonQuery();
SQL_Conn_01.Close();
reader.Close();
}
}
}
注: これは以前に質問したもののコピーであり、Cookie を消去したときに制御できなくなりました。 64 kb のバッファサイズ制限を超えるテキスト ファイルを読み込むにはどうすればよいですか?