Hệ thống web VB.net với chương trình phụ trợ SQL Server 2005. Tôi đã có một thủ tục lưu trữ trả về một varchar, và cuối cùng chúng tôi nhận được các giá trị mà sẽ không phù hợp trong một varchar (8000).Tôi có thể trả về một varchar (max) từ một thủ tục lưu sẵn không?
Tôi đã thay đổi tham số trả về thành một varchar (max), nhưng làm cách nào để cho thuộc tính OleDbParameter.Size chấp nhận bất kỳ số lượng văn bản nào?
Là một ví dụ cụ thể, mã VB mà có các thông số trở về từ thủ tục lưu trữ sử dụng để trông giống như:
objOutParam1 = objCommand.Parameters.Add("@RStr", OleDbType.varchar)
objOutParam1.Size = 8000
objOutParam1.Direction = ParameterDirection.Output
tôi có thể làm gì .Size để làm việc với một (max)?
Cập nhật:
Để trả lời một số câu hỏi:
Đối với tất cả các tính năng, văn bản này, tất cả cần phải đi ra như một đoạn. (Thay đổi đó sẽ mất nhiều công việc kết cấu hơn tôi muốn làm - hoặc được ủy quyền thực sự.)
Nếu tôi không đặt kích thước, tôi gặp lỗi "Chuỗi [6]: Thuộc tính Kích thước có kích thước không hợp lệ là 0. "
Thành thật mà nói - sếp của tôi. Toàn bộ hệ thống được xây dựng dựa trên kết nối OleDB, và tôi phải sống với nó. Tin tôi đi, nếu tôi là kiến trúc sư này, tôi sẽ được tất cả các phiên bản tốt hơn. (Tất nhiên, nếu tôi chịu trách nhiệm, sproc tôi đang cố gắng sửa chữa thậm chí sẽ không tồn tại ...) –