예제 #1
0
        public static SqlLongString Create(IRequest context, Stream inputStream, Encoding encoding, bool compressed = true)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            if (inputStream == null)
            {
                throw new ArgumentNullException("inputStream");
            }
            if (!inputStream.CanRead)
            {
                throw new ArgumentException("The input stream is not readable", "inputStream");
            }

            var maxSize = inputStream.Length;
            var lob     = context.Query.Session.CreateLargeObject(maxSize, compressed);

            using (var stream = new ObjectStream(lob)) {
                inputStream.CopyTo(stream, 1024);
                stream.Flush();
            }

            lob.Complete();
            return(new SqlLongString(lob, encoding));
        }
예제 #2
0
        private static SqlLongString CreateData(IQuery query, byte[] data)
        {
            var lob = query.Session.CreateLargeObject(2048, true);

            using (var stream = new ObjectStream(lob)) {
                stream.Write(data, 0, data.Length);
                stream.Flush();
            }

            lob.Complete();
            return(SqlLongString.Ascii(lob));
        }