Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DTS & ntext & image / 5 сообщений из 5, страница 1 из 1
23.07.2002, 15:10:42
    #32038270
Erika
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DTS & ntext & image
Никак не могу сообразить - нужно в DTS скопировать(переместить) данные из поля типа ntext в поле типа image в той же таблице.
Единственная мысль, которая приходит в голову - рисовать курсор с WRITETEXT. Может, можно по-другому?

Вроде, в BOL упоминается DTSDataPumpColumn методы AppendChunk и GetChunk. Но AppendChunk у меня ругается, что нет такого метода (при попытке вставить просто текстовую строку).
Варианты:
Код: plaintext
1.
DTSDestination( "f_body" ).AppendChunk (strText)
DTSDestination( "f_body" ).DTSDataPumpColumn.AppendChunk (strText)

Что я делаю не так?
...
Рейтинг: 0 / 0
24.07.2002, 07:21:24
    #32038397
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DTS & ntext & image
Фигня какая-то. Похоже, что метод AppendChunk в DTS не работает. Пишем
Код: plaintext
1.
2.
3.
4.
5.
Function Main()
	MsgBox DTSSource( "pr_info" ).GetChunk( 100 )
	DTSDestination( "pr_info" ).AppendChunk( "bbb" )
	Main = DTSTransformStat_OK
End Function

GetChunk проходит нормально, AppendChunk вылетает с воплем Type Mismatch.
В то же время абсолютно аналогичный по идеологии скрипт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
dim rs
set rs = CreateObject( "ADODB.Recordset" )
rs.Open  "pub_info" ,  "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI" ,  1 ,  3 ,  2 
rs.AddNew()
rs.Fields( "pub_id" ) =  "0000 "
rs.Fields( "pr_info" ).AppendChunk( "bbb" )
rs.Update()
rs.Close()
set rs = Nothing

проходит на ура.
Поскольку мы все вроде бы делаем правильно, остается считать это глюком. Докапываться до корней мне сейчас неохота. Если задача состоит в том, чтобы "скопировать(переместить) данные из поля типа ntext в поле типа image в той же таблице", почему бы не сделать просто update pub_info_test set fld = pr_info? Вообще DTS здесь как-то применим очень условно. Если же хочется непременно AppendChunk, используйте простой VBScript безотносительно DTS.
...
Рейтинг: 0 / 0
24.07.2002, 12:47:02
    #32038453
Erika
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DTS & ntext & image
2 Дед Маздай:
Спасибо огромное, успокоили мою душу. А то я уже начала думать, что вовсе деревянная - метод применить не могу. А GetChunk проверить не догадалась :(
Сейчас полезу на support - может, найду какую инфу.

Update сейчас попробую - зациклилась на DTS просто.
Результаты сообщу.
...
Рейтинг: 0 / 0
24.07.2002, 13:47:08
    #32038481
Erika
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DTS & ntext & image
Упс!
С Update полный пролет - ntext никоим образом не может конвертироваться в image.
Таки, похоже, придется курсор с WRITETEXT использовать. Грустно - пока обходилась без курсоров, и практики никакой.
...
Рейтинг: 0 / 0
25.07.2002, 17:57:52
    #32038855
Erika
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DTS & ntext & image
Люди, помогите! Я ничего не понимаю!!!
В форуме видела советы использовать курсор с WRITETEXT. (Курсор пишу впервые).
Я даже до WRITETEXT не добралась - ругается. Пишет:

Server: Msg 2739, Level 16, State 1, Line 6
The text, ntext, and image data types are invalid for local variables.

А как же тогда с ntext и image вообще работать?
Может, кто-нибудь поделится примером WRITETEXT в курсоре ? Или ткнет меня носом в ошибку? Пожалуйста!!!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
DECLARE CopyNTextToImage CURSOR 
FOR select f_text_only, f_body,
	DATALENGTH(f_text_only) as fTextLen, DATALENGTH(f_body) as fBodyLen 
from Patent_files where DATALENGTH(f_text_only) Is Not Null

DECLARE @tLen int
DECLARE @bLen int
DECLARE @fText ntext
DECLARE @fBody image

OPEN CopyNTextToImage
FETCH NEXT FROM CopyNTextToImage INTO @fText, @fBody, @tLen, @bLen
WHILE (@@FETCH_STATUS =  0 )
BEGIN
	SELECT @tLen, @bLen
	FETCH NEXT FROM CopyNTextToImage INTO @fText, @fBody, @tLen, @bLen
END

CLOSE CopyNTextToImage
DEALLOCATE CopyNTextToImage
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DTS & ntext & image / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]