Можно ли сделать AppendChunk в SQL запросе ?

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Можно ли сделать AppendChunk в SQL запросе ?

Сообщение ALX_2002 » 15.03.2006 (Ср) 18:01

Извиняйте, но реально ответа так и не нашёл. :roll:

Вот добавление записей через INSERT без проблем, а AppendChunk только через Recordset ? :(

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 15.03.2006 (Ср) 18:12

в mssql-server если поле типа text , то можно прямо в запросе INSERT передавать данные размером до 2гб через хп:

вот пример ХП:

Код: Выделить всё
CREATE PROCEDURE UpdateRequestXML
   @RequestID int,
   @XML text
AS
SET NOCOUNT ON

UPDATE Requests SET Data=@XML
WHERE Id=@RequestID

RETURN @@ROWCOUNT


а вот вызов:

Код: Выделить всё
Public Function UpdateRequestXML(ByVal RequestID As Long, ByVal XML As String) As Boolean
    '<EhHeader>
    On Error GoTo Err_Debug
    '</EhHeader>
    Dim cmd As ADODB.Command, p As ADODB.Parameters

100     Set cmd = New ADODB.Command
110     cmd.ActiveConnection = GetConnectionString()
120     cmd.CommandType = adCmdStoredProc
130     cmd.CommandText = "UpdateRequestXML"
140     Set p = cmd.Parameters
150     p.Append cmd.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue)
160     p.Append cmd.CreateParameter("@RequestID", adInteger, adParamInput, , RequestID)
170     p.Append cmd.CreateParameter("@XML", adLongVarChar, adParamInput, 2147483647, XML)
180     cmd.Execute , , adExecuteNoRecords
190     If p("RETURN_VALUE").Value Then
200         UpdateRequestXML = True
        End If
   
   
    '<EhFooter>
lb_out:
210     Set p = Nothing
220     Set cmd = Nothing
        Exit Function

Err_Debug:
         LogError "UpdateRequestXML"
         Resume lb_out
    '</EhFooter>
End Function

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 15.03.2006 (Ср) 21:30

Ммм.... А поле типа "текст" может двоичный файл хранить ? :roll:

У меня в MDB базе последнее поле типа "Поле объекта OLE"

В него через SQL получится ? :roll:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 16.03.2006 (Чт) 11:17

в OLE никак не получится кроме AppendChunk
text - обычно применяют для хранения больших текстов
есть binary специально для хранения бинарных данных

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 16.03.2006 (Чт) 12:17

Усёк. Всё сделал. :D Спасибо огромное.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList