내부적으로 생성 된 Excel 가져 오기 도구로 작업하고 있습니다. 이 도구는 Excel 스프레드 시트를 읽고 그 결과를 SQL CE 데이터베이스로 가져와야합니다. 데이터베이스를 확인한 후 문제를 디버깅 한 후에 엑셀 스프레드 시트에서 값을 얻습니다. 내 문제는 반환 된 결과가 잘리는 것입니다.System.Data.OleDb.OleDbConnection ExecuteReader() 결과가 잘린다
"Here"로 표시된 주석에서 내 코드를 검사 할 때 rdr.GetValue (col) .ToString()이 이미 잘 렸습니다. 나는 세포의 전체 가치를 얻기 위해 다르게해야 할 일이 있는지 궁금합니다.
<h1><span style="color:blue; margin: 10, 10, 10, 10; font-family:Arial;">You can drive
or walk on main street… Sometimes… When we allow it. Lalalalalalla lalallala lalalalal
lalallalal allalalalalla lalallalalalalal alalallasldlal dldlaldsls dldlldl
laldfolafjlkmn oiasfjadlfjalkfj lkajdflidja laisdjfolieanfldsn ladllaldladsl
aldllselasldeesl dfoaihfneal adfajlkfmf alsiej</span></h1>
이 잘립니다 것입니다 :
using (var cmd = _xlConn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM [" + entityType.Name + "$]";
try
{
using (var rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
if (!rdr.IsDBNull(0))
{
var id = Convert.ToInt32(rdr.GetValue(0));
var eid = Entity.InsertRecord(entityType.Name + "_" + id, entityType.ID, true);
map.Add(id, eid);
int col = 0;
foreach (var entityKey in _entityKeys.Where(ek => ek.EntityType_Fk == entityType.ID))
{
if (!rdr.IsDBNull(++col))
{
//-------------------------
//--------- HERE ----------
//-------------------------
EntityKeyData.InsertRecord(eid, entityKey.ID, rdr.GetValue(col).ToString());
}
}
}
}
}
}
}
이것은 내 데이터에 전달되는
<h1><span style="color:blue; margin: 10, 10, 10, 10; font-family:Arial;">You can drive
or walk on main street… Sometimes… When we allow it. Lalalalalalla lalallala lalalalal
lalallalal allalalalalla lalallalalalalal alalallasldlal dldlaldsls dldlldl laldf
내가 문자가 잘린 텍스트에 의지 않았고 그것은 255 인 끝 이것은 일반적인 문제입니까?
[Excel 셀 값이 OleDb 공급자에 의해 잘리는] 가능한 복제본 (http://stackoverflow.com/questions/898513/excel-cell-values-are-truncated-by-oledb-provider) – JeremiahDotNet
SQL 필드가 있습니까? 충분히 길다? –