보고 응용 프로그램의 결과 인 DataSet을 SQL Server 2000의 테이블에 저장해야합니다. DB에 파일을 저장하는 것과 같은 방식으로 데이터를 저장합니까?()?SQL Server 2000에서 XML 데이터 집합 저장
답변
SQL Server 2000은 실제로 XML blob을 처리 할 수있는 기능이 없습니다. 전용 XML 유형도 없으며 VARCHAR (MAX) 데이터 유형의 양식으로 큰 텍스트를 쉽게 지원하지도 않습니다. 둘 다 SQL Server 2005 이상에서 사용할 수 있습니다.
2000 년을 절대적으로 고수하는 경우 XML을 TEXT
열 (또는 NTEXT
- 문자 당 2 바이트 - ASCII 형식이 아닌 문자 집합을 지원해야하는 경우 XML에 저장하는 것이 가장 좋습니다. , 히브리어, 아랍어 등).
TEXT 열 데이터 형식은 많은 번거 로움없이 실제로 많은 작업을 할 수 없다는 점에서 그다지 유용하지 않습니다. 실제로 텍스트 데이터를 검색하거나 바꿀 수는 없습니다. 그것은 엉망입니다. 일반적인 문자열 방법은 작동하지 않습니다. 실제로는 "저장하고 잊어 버리는"종류의 얼룩입니다. .....
업데이트 : 의 경우 파일의 내용을 검사해야합니다. (실제로?) 데이터베이스에 저장되면 IMAGE
데이터 형식을 사용할 수도 있습니다. 하여 데이터베이스에서 바이트의 덩어리에서 읽을
private void AddFileToDatabase(string filename)
{
using(SqlConnection con = new SqlConnection("server=***;database=***;integrated security=SSPI;"))
{
string insertStmt = "INSERT INTO dbo.YourTableName(DocFilename, DocContent) VALUES(@FileName, @Content)";
using(SqlCommand cmd = new SqlCommand(insertStmt, con))
{
cmd.Parameters.AddWithValue("@FileName", filename);
cmd.Parameters.Add("@Content", SqlDbType.Image);
cmd.Parameters["@Content"].Value = File.ReadAllBytes(filename);
con.Open();
int result = cmd.ExecuteNonQuery();
con.Close();
}
}
}
그리고 기본적으로 같은 일 :
가 SQL 서버에 파일을 저장하려면 같은 것을 할. 또는 이것을 멋진 저장 프로 시저에 패키지 할 수 있습니다. 완전히 당신에게 달려 있습니다.TEXT/NTEXT
을 사용하는 경우 실제 문자열 (예 : Word와 같은 이진 파일을 실제로 사용할 수는 없지만 XML 또는 HTML 또는 기타 형식으로 보고서에서 출력하는 경우 TEXT/NTEXT도 사용할 수 있습니다 (이 경우 cmd.Parameters.Add("@Content", SqlDbType.Text);
만 사용).
serialize
(이진수 xml) 데이터 집합을 저장하고 데이터베이스에 저장할 수도 있습니다.
- 1. SQL Server 2005 : SQL Server 2000에서 데이터 가져 오기
- 2. SQL Server 2005에 XML 저장
- 3. SQL Server 2000에서 SQL Server Management Studio
- 4. SQL Server 2000의 하위 집합
- 5. 느린 SQL Server CLR 집합
- 6. SQL Server XML 데이터 형식
- 7. SQL Server 2000에서 MySQL 저장 프로 시저를 호출하는 방법은 무엇입니까?
- 8. SQL Server 2000에서 저장 프로 시저를 삭제하는 구문은 무엇입니까?
- 9. SQL Server 2000에서 저장 프로 시저 및 작업을 모두 찾으십시오.
- 10. SQL Server 2000에서 저장 프로 시저에 int 배열을 추가하는 방법
- 11. Crystal Reports의 XML 데이터 집합
- 12. SQL Server 2000에서 SQL Server 2005의 데이터를 복원하는 방법은 무엇입니까?
- 13. SQL Server 2000에서 SQL Server 2005보고 DB 설정
- 14. SQL Server 2000에서 SQL Server 2005로 데이터베이스 마이그레이션
- 15. xml 파일보기에서 SQL Server 2000 데이터
- 16. SqlBulkCopy는 SQL Server 2000에서 교착 상태가 발생합니다.
- 17. OutOfMemoryException - 데이터 집합 <-> XML <-> 데이터 집합
- 18. 데이터 원본이 CSV에서 비롯된 SQL Server 테이블에 대한 데이터 집합
- 19. XML 데이터 삽입 SQL Server - 인코딩 문제
- 20. SQL Server 2000에서 오류 텍스트 검색
- 21. Sql Server 2000에서 롤백 및 업데이트 명령
- 22. SQL Server 2000에서 얼마나 자주 통계를 업데이트합니까?
- 23. SQL Server 2000에서 다중 데이터베이스 손상 MSDE
- 24. MS SQL Server 2000에서 데이터베이스 연결 끊기
- 25. SQL Server 2000에서 사용자 계정을 만들려면 어떻게해야합니까?
- 26. SQL Server 2000에서 고아 레코드 찾기
- 27. RESX 파일에 데이터 집합 저장
- 28. SQL Server 2000에서 매우 긴 동적 SQL 문을 어떻게 실행합니까?
- 29. SQL Server 2000에서 오류가 발생하지만 SqlServer 2005에서는 발생하지 않습니다.
- 30. 정의 XML 필드는 데이터 집합
SQL Server 2000 DB입니다. 문서를 저장하고 필요에 따라 다시로드하면됩니다. 문서 등을 검색하지 않을 것입니다. –
DataSet의 문자열 표현을 반환하는 dataset.GetXML()이 있습니다. 텍스트 데이터 유형 인 경우 해당 필드를 사용하여 저장할 수 없습니까? –
@Saif : 예, 확실합니다 - 데이터 집합을 나타내는 XML 문자열을 가져 와서 해당 문자열을 SQL Server 2000의 TEXT/NTEXT 필드에 저장할 수 있습니다. –