SharePoint 사이트에서 데이터를 검색하기 위해 SQL CLR 함수를 만들었습니다. 이 SQL에 반환 일부입니다SQL CLR 함수 오류
public static void GetListItemInfo(
object obj,
out SqlString Name,
out SqlString SO,
out SqlString LineNumber,
out SqlString SerialNumber,
out SqlString Certificates,
out SqlString Tags,
out SqlString RevisionNumber)
{
DataRow r = (DataRow)obj;
Name = new SqlString(r["ows_LinkFilename"].ToString());
SO = new SqlString(r["ows_SO"].ToString());
LineNumber = new SqlString(r["ows_Line_x0020_Number"].ToString());
SerialNumber = new SqlString(r["ows_Unit_x0020_Number"].ToString());
Certificates = new SqlString(r["ows_Certificate_x0020_Type"].ToString());
Tags = new SqlString(r["ows_Tags"].ToString());
RevisionNumber = new SqlString(r["ows_Revision_x0020_Number"].ToString());
}
이 모든 SharePoint 목록에 존재하지만 SQL에서 기능을 실행할 때이 오류가 표시 열 이름은 다음과 같습니다
Msg 6260, Level 16, State 1, Line 1
An error occurred while getting new row from user defined Table Valued Function :
System.ArgumentException: Column 'ows_Line_x0020_Number' does not belong to table row.
System.ArgumentException:
at System.Data.DataRow.GetDataColumn(String columnName)
at System.Data.DataRow.get_Item(String columnName)
at SharePointToSQL.GetListItemInfo(Object obj, SqlString& SO, SqlString& LineNumber, SqlString& Tags)
은 하지만 나는 'SO'와 'Tags'컬럼을 얻으 려한다면이 에러를 얻지 못한다.
UPDATE : 나는 "ows_SO" "ows_Sample"등하지만 같은 열 "ows_Line_x0020_Number"와 같은 열을 반환 할 수 있어요 것을 발견 . 열 이름을 조금 변경하여 원하는대로 할 수 있습니다. 하지만 누구나 "ows_Line_x0020_Number"와 같은 열 이름을 사용할 수없는 이유는 무엇입니까?
분명히'obj'가이 필드를 잃어 버렸거나 필드 이름이 잘못되었습니다 – Boomer
그리고이 값이 null이 아닌지 확인하십시오 ... – Boomer