Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: MSSQL XML Internet  [new]
makcumys
Member

Откуда: г. Киев
Сообщений: 131
пасибо вот тут это раньше находил немного в другом виде правда. но! как авторизироваться на проксе? (неочень хочеться чтобы служба сиквел была запущенна от моего имени)
25 апр 07, 16:06    [4069514]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
makcumys
Русские буквы есть. но появилась вторая проблема. Как мне тогда на проксе авторизироваться?

старый метод
declare @str varchar(1000)
set @str = 'SetCredentials("' + @UserName + '","' + @PWD + '", 1)'
EXEC @hResult = master.dbo.sp_OAMethod @objectID, @str

неработает :(

замкнутый круг прям...

"Не работает" означает есть ошибка ?
25 апр 07, 16:11    [4069549]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
To Glory.
Скачай своим методом http://lost.video-x.ru/index.php
сколько байт получилось?
25 апр 07, 16:16    [4069587]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
?
25 апр 07, 16:27    [4069680]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
makcumys
Member

Откуда: г. Киев
Сообщений: 131
Да в самом деле ошибка есть

hResult = 0x80020006
source = ODSOLE Extended Procedure
description = Unknown name

с ходу насколько читал у этого объекта нет такого свойства :(
25 апр 07, 16:30    [4069693]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
makcumys
Да в самом деле ошибка есть

hResult = 0x80020006
source = ODSOLE Extended Procedure
description = Unknown name

с ходу насколько читал у этого объекта нет такого свойства :(

Ну дык как же оно будет работать, если такого метода нет
25 апр 07, 16:32    [4069706]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
Max-xaM
To Glory.
Скачай своим методом http://lost.video-x.ru/index.php
сколько байт получилось?

Позже попробую
25 апр 07, 16:37    [4069736]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
Glory
Max-xaM
To Glory.
Скачай своим методом http://lost.video-x.ru/index.php
сколько байт получилось?

Позже попробую


Должно быть 60146. А получается 55484.

Мало того, что он искажает русские буквы. так еще и режет "лишние"...
25 апр 07, 16:40    [4069756]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
makcumys
Member

Откуда: г. Киев
Сообщений: 131
up
26 апр 07, 10:32    [4072341]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
Glory похоже тоже не удалось....
26 апр 07, 17:16    [4075415]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
declare @retcode int
declare @local int
declare @status int
exec @retcode = sp_OACreate 'Microsoft.XMLHTTP', @local OUT
if @retcode<>0 
BEGIN
	EXEC sp_OAGetErrorInfo @local
	print -1
end

EXEC @retcode = sp_OAMethod @local, 'Open', NULL, 'GET', 'http://lost.video-x.ru/index.php', 'False'
if @retcode<>0 
BEGIN
	EXEC sp_OAGetErrorInfo @local
	print -2
end

EXEC @retcode = sp_OAMethod @local, 'Send', NULL, @status
if @retcode<>0 
BEGIN
	EXEC sp_OAGetErrorInfo @local
	print -4
end

EXEC @retcode = sp_OAGetProperty  @local, 'status', @status OUT
if @retcode<>0 
BEGIN
	EXEC sp_OAGetErrorInfo @local
	print -5
end

if @status <> 200
BEGIN
	RAISERROR('Invalid response status',16,1)
	print -6
END

if object_id('tempdb..#httpresult') is not null drop table #httpresult
create table #httpresult(http ntext)

insert #httpresult
EXEC @retcode = sp_OAGetProperty  @local, 'responsetext'
if @retcode<>0 
BEGIN
	EXEC sp_OAGetErrorInfo @local
	print -7
end

SELECT http, datalength(http) from #httpresult


EXEC @retcode = sp_OADestroy @local
if @retcode<>0 
print -8

if object_id('tempdb..#httpresult') is not null drop table #httpresult
27 апр 07, 02:19    [4076692]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
забыл сказать, что получаю 56718 байтов
27 апр 07, 08:17    [4076873]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
makcumys
Member

Откуда: г. Киев
Сообщений: 131
Glory
А как бороться с кодировкой неподскажеш?
27 апр 07, 10:30    [4077534]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
Glory
забыл сказать, что получаю 56718 байтов

Раз они пишутся в ntext, то делить надо пополам.
Или может покажете как юникодный ntext вытащить в файл.
Там вместо русских букв крякозяблы
28 апр 07, 09:19    [4082296]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
Max-xaM
Glory
забыл сказать, что получаю 56718 байтов

Раз они пишутся в ntext, то делить надо пополам.
Или может покажете как юникодный ntext вытащить в файл.
Там вместо русских букв крякозяблы

Это уже поделено
28 апр 07, 13:58    [4083848]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
makcumys
Member

Откуда: г. Киев
Сообщений: 131
Glory

Можете дать пример, для получения русских символов вместо крякозяблов?
28 апр 07, 15:04    [4084274]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
makcumys
Glory

Можете дать пример, для получения русских символов вместо крякозяблов?

Привел я уже пример
28 апр 07, 15:05    [4084282]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
makcumys
Member

Откуда: г. Киев
Сообщений: 131
Если Вы говорите о примере что высше, то он отображает русские символы как знаки ??? ли квадратики :(. что у меня не так?
28 апр 07, 15:50    [4084638]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Glory
Member

Откуда:
Сообщений: 104760
Не знаю, что у вас не так
28 апр 07, 17:21    [4085055]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
makcumys
Member

Откуда: г. Киев
Сообщений: 131
гм... а у Вас нормально символы кирилицы отображаються?
28 апр 07, 18:50    [4085259]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
dejavew
Guest
makcumys
Русские буквы есть. но появилась вторая проблема. Как мне тогда на проксе авторизироваться?

старый метод
declare @str varchar(1000)
set @str = 'SetCredentials("' + @UserName + '","' + @PWD + '", 1)'
EXEC @hResult = master.dbo.sp_OAMethod @objectID, @str

неработает :(

замкнутый круг прям...


Самый "старый" метод - задавать напрямую параметры авторизации в заголовках HTTP (работает практически всегда).

Вот, примерно так (с вашего позволения, я не буду "переводить" с VBScript на T-SQL+sp_OACreate):
...
strAuthor = "<domain_name\user_name>:<user_password>" ' <- разделитель ":" обязателен!
strAuthor = base64Encode(strAuthor)
strAuthor = "Basic " & strAuthor ' <- пробел после слова "Basic" обязателен!

xmlHttp.OPEN ...
xmlHttp.setRequestHeader "Proxy-Authorization", strAuthor
...
Function base64Encode (cParm)	
' Возвращает строку в кодировке base64
' параметр cParm - исходная строка
Dim cReturn, oMsg, oBp, oStm
cReturn = ""

If VARTYPE(cParm) = 8 And Len(cParm) > 0 Then
	Set oMsg = CreateObject("CDO.Message")
	Set oBp  = oMsg.Attachments.Add
	oBp.ContentMediaType = "text/plain"
	oBp.ContentTransferEncoding = "base64"
	oBp.Charset = "windows-1251"
	' кодировка windows-1251 должна быть установлена для правильного
	' преобразования русских символов
	Set oStm = oBp.GetDecodedContentStream()
	oStm.WriteText cParm
	oStm.Flush
	oStm.Close
	oBp.Charset = "windows-1251"
	' кодировка windows-1251 должна быть установлена для правильного
	' преобразования русских символов
	If oBp.GetEncodedContentStream.Position > 0 Then
		oBp.GetEncodedContentStream.Position = 0
	End If
	cReturn = oBp.GetEncodedContentStream.ReadText()
End If

base64Encode = cReturn
End Function
...
З.Ы. правда, метод авторизации "Basic" - довольно небезопасен с точки зрения всяких "сниферов".
28 апр 07, 19:42    [4085343]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
А кто-нибудь может это перевести на sql ?
2 май 07, 18:44    [4092224]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
Glory
Не знаю, что у вас не так

А скрин-шоты можете показать?
2 май 07, 18:45    [4092231]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
Max-xaM
Member

Откуда: Гусь-Хрустальный
Сообщений: 556
Извините, но очень хочется.

UP
3 май 07, 13:51    [4094949]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL XML Internet  [new]
up
Guest
up
6 май 07, 00:55    [4104553]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить