메모리 스트림별로 vb.net 코드를 사용하여 SQL Server 열에 PDF 파일을 저장하는 방법은 무엇입니까?vb.net 코드를 사용하여 SQL Server 열에 PDF 파일을 저장하는 방법
1
A
답변
2
먼저 데이터베이스의 테이블에 varbinary (MAX) 유형의 열이 있어야합니다. 바이트 배열을 저장할 수 있습니다.
다음으로 바이트 배열로 PDF 파일의 내용을 얻기 위해 코드의 같은 라인을 사용할 수 있습니다
IO.File.ReadAllBytes("C:\my.pdf")
5
당신을 감사합니다! 내 솔루션의 현재 버전은 다음과 같습니다.
public void SaveFile()
{
//Try
OpenFileDialog fd = new OpenFileDialog();
fd.Filter = "pdf file|*.pdf";
if (fd.ShowDialog == System.Windows.Forms.DialogResult.OK) {
//PdfDocument1.FilePath = fd.FileName
byte[] filebyte = null;
SqlConnection con = new SqlConnection("Data Source=LOCALHOS-A4AE79\\LOCALHOST1;Initial Catalog=library_alborz;Integrated Security=True");
SqlCommand cmd = default(SqlCommand);
filebyte = System.IO.File.ReadAllBytes(fd.FileName);
cmd = new SqlCommand("Insert into pdftbl (pdffld) Values(@pdf)", con);
//cmd.Parameters.Add("@filepath", SqlType.VarChar).Value = txtfilepath.Text
cmd.Parameters.Add("@pdf", SqlDbType.Binary).Value = filebyte;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Interaction.MsgBox("File saved into database", MsgBoxStyle.Information);
//Catch ex As Exception
// MsgBox(Err.Description, MsgBoxStyle.Exclamation)
//End Try
}
}
------------
// load pdf file
private void Button2_Click(System.Object sender, System.EventArgs e)
{
string strsql = null;
SqlConnection con = new SqlConnection("Data Source=LOCALHOS-A4AE79\\LOCALHOST1;Initial Catalog=library_alborz;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
try {
strsql = "select pdffld from pdftbl ";
da = new SqlDataAdapter(strsql, con);
da.Fill(ds, "tbl");
//Get image data from gridview column.
byte[] pdfData = Convert.ToByte(ds.Tables["tbl"].Rows[0][0]);
//Initialize pdf variable
//Read pdf data into a memory stream
using (MemoryStream ms = new MemoryStream(pdfData, 0, pdfData.Length)) {
ms.Write(pdfData, 0, pdfData.Length);
//Set pdf variable value using memory stream.
PdfDocument1.Load(ms);
PdfPageView1.Document = PdfDocument1;
PdfPageView1.Refresh();
}
} catch (Exception ex) {
MessageBox.Show(ex.ToString());
}
}
관련 문제
- 1. PDF 파일을 저장하는 방법 NHibernate와 SQL Server 2005를 사용하여
- 2. http 응답을 사용하여 PDF 파일을 저장하는 방법
- 3. SQL Server - Varbinary (최대) 열에 삽입하는 방법?
- 4. SQL Server 2005 IMAGE 열에 20MB 파일을 저장하는 가장 효율적인 방법
- 5. VB.Net 코드를 사용하여 SQL Server Express DB 연결
- 6. SQLite에서 PDF 파일을 저장하는 방법
- 7. xsl 파일을 사용하여 SQL Server 데이터베이스에 XML 데이터를 저장하는 방법
- 8. 열에 대한 데이터를 저장하는 SQL
- 9. .doc 문서를 SQL Server 데이터베이스에 저장하는 방법
- 10. SQL Server 2005의 특정 열에 대한 noiseXXX.txt 파일을 무시하는 방법?
- 11. iphone 앱에서 서버에 PDF 파일을 저장하는 방법
- 12. linq to sql을 사용하여 xml 파일을 XML 열에 저장하는 방법?
- 13. SQL Server 2008 R2에서 PDF 파일을 생성하는 방법
- 14. 클래식 ASP를 사용하여 SQL Server 데이터베이스에 파일을 저장하는 방법은 무엇입니까?
- 15. 안드로이드의 SQLite 데이터베이스에 PDF 파일을 저장하는 방법
- 16. 문서 디렉토리에 pdf 파일을 저장하는 방법
- 17. 새우 PDF 파일을 Amazon S3에 저장하는 방법
- 18. wicked_pdf를 사용하여 공용 폴더 안에 pdf 파일을 저장하는 방법
- 19. java를 사용하여 postgreSQL에 doc, jpeg, pdf 파일을 저장하는 방법
- 20. SQL Server - DISTINCT 한 열에
- 21. PDF 파일을 BLOB로 저장하는 문제
- 22. 이미지 데이터를 SQL Server 2005에 저장하는 방법
- 23. SQL Server : 뷰의 열에 함수 연결
- 24. SQL Server CE 데이터베이스의 내용을 보는 방법
- 25. asp.net C#을 사용하여 SQL Server Management에서 파일을 다운로드하는 방법?
- 26. PHP + SQL Server 또는 VB.NET + MySQL
- 27. iText를 사용하여 PDF 코드를 얻는 방법
- 28. 잠긴 PDF 파일을 인쇄하는 방법 AirPrint를 사용하여 잠긴 PDF 파일을 인쇄하는 방법
- 29. SQL Server 2008을 사용하여 VB.NET 양식 자동 생성
- 30. SQL Server : .PRC 파일을 여는 방법?
ntext, text 및 ** image ** 데이터 유형은 이후 버전의 Microsoft SQL Server에서 제거됩니다. 새로운 개발 작업에서는 이러한 데이터 유형을 사용하지 말고 현재 사용중인 응용 프로그램을 수정하십시오. 대신에 nvarchar (max), varchar (max) 및 varbinary (max)를 사용하십시오. '[(source)] (http://msdn.microsoft.com/en-us/library/ms187993.aspx) –
그런 다음 varbinary MAX). MAX는 2^31-1 바이트까지 사용할 수 있기 때문에 MAX는 숫자가 아닌 MAX를 지정하십시오. – Dima