Hiển thị kết quả từ 1 đến 7 / 7
  1. #1
    Tham gia
    13-08-2009
    Bài viết
    2
    Like
    0
    Thanked 0 Times in 0 Posts

    Hỏi cách insert file .Doc vào SQLSERVER

    Các cao thủ ai biết cách insert một file word vào sqlserver bảo mình với.Lập trình trên winform hoặc aspnet đều được.Mình thử insert vào như kiểu insert file Image nhưng khi đọc ra thì không lại đọc ra chuỗi System.Byte(Kiểu trường lưu file word mình đặt là Binary(Max).
    Mọi người cố gắng giúp được mình nhé hay ai có ý kiến gì hay thì góp ý nhé, mình cám ơn nhiều nhiều...
    Quote Quote

  2. #2
    Tham gia
    13-10-2008
    Location
    www.vnfox.com
    Bài viết
    462
    Like
    0
    Thanked 10 Times in 10 Posts
    data type la blob ... ba.n extract ra binary (byte) rồi insert nó vào ...

    Dâă type : blob nha !!

    chúc thaàh công!

  3. #3
    Tham gia
    13-08-2009
    Bài viết
    2
    Like
    0
    Thanked 0 Times in 0 Posts
    hi,blob là kiểu gì vậy bạn,Bạn có thể nói rõ hơn không?

  4. #4
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Bạn dùng SQL server version nào?
    Bạn insert bằng cách nào mà không được? Dùng C# đọc file rồi dùng lệnh INSERT, hay gọi stored procedure?

    Bạn có thể post code lên đây cho anh em xem được không?

  5. #5
    Tham gia
    17-05-2006
    Bài viết
    127
    Like
    0
    Thanked 0 Times in 0 Posts
    số byte lấy ra phải khai báo là kiểu array: byte[] file; đọc bằng datareader trả về kiểu byte. Nếu biết trước là file .doc thì ok, nếu không thì phải có 1 trường lưu đuôi mở rộng của file.

  6. #6
    Tham gia
    07-09-2007
    Bài viết
    26
    Like
    0
    Thanked 0 Times in 0 Posts
    Chào bạn.
    Bạn lưu file gì vào csdl cũng đc, ở đây nói về file word.
    Mình có kinh nghiệm như sau:
    table chứa file phải có 2 trường :
    1 trường kiểu image để chứa nội dung file.
    1 trường kiểu nvarchar dùng để lưu loại file.(vd : word là application/msword, file jpg là image/pjpeg).
    Khi post file lên thì sử dụng 2 dòng sau để lấy thông tin để lưu vào csdl :
    FileUpload1.PostedFile.ContentType;
    FileUpload1.FileBytes;

    Khi lấy nội dung file ra theo đúng kiểu dữ liệu của nó thì bạn làm như sau:
    - Tạo 1 file Generic Handler (có đuôi.ashx trong asp.net)
    Trong phương thức ProcessRequest:
    <code>
    context.Response.Cache.SetCacheability(HttpCacheab ility.Public);
    context.Response.BufferOutput = false;
    Stream stream = null;
    string contentType="";
    if (context .Request .QueryString ["FileID"]!=null &&context .Request .QueryString ["FileID"]!="")
    {
    stream = GetData(id);//
    contentType=GetContentType(id);//

    /*GetData và GetContentType là 2 phương thức dùng để lấy dữ liệu ra.bạn tự code nhé*/
    context.Response.ContentType = contentType;
    const int buffersize = 1024 * 16;
    byte[] buffer = new byte[buffersize];
    int count = stream.Read(buffer, 0, buffersize);
    while (count > 0)
    {
    context.Response.OutputStream.Write(buffer, 0, count);
    count = stream.Read(buffer, 0, buffersize);
    }
    </code>
    Khi muốn download file nào thì gõ id của nó vào(Handler.ashx?FileID=x) nhé
    Cái này mình nghiên cứu lâu rồi, nhớ lại sơ sơ vậy đó. có gì thì thảo luận tiếp nhé .

  7. #7
    Tham gia
    09-08-2006
    Bài viết
    67
    Like
    0
    Thanked 2 Times in 1 Post
    mình đang muốn làm một chương trình đọc nội dung định sẵn từ word rồi import vào csdl cụ thể là sql 2005

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •