Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
Имеется 2 сервера SQL. Необходимо получить MD5-хэш.

1)
Тестирую на первом сервере:
SELECT convert(VARCHAR, HashBytes('MD5','TEST'), 2) as Hash

Result = 033BD94B1168D7E4F0D644C3C95E35

Все отрабатывает нормально.

2)
Тоже самое выполняю на втором сервере.
Result := ;ЩKhЧдрЦDГЙ^5ї

--------------------------------------------------
Думал проблема в Collation, но и там и там одинаковая: Cyrillic_General_CI_AS
Если не делать convert, то результат нормальный, но мне необходимо перегнать результат в текстовый формат, который понимает моя программа.
Hashbytes возвращает varbinary.
16 апр 12, 17:06    [12423669]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
KeeperRU
Тоже самое выполняю на втором сервере.
Result := ;ЩKhЧдрЦDГЙ^5ї
Это прям из той же студии? Бо ":=" наталкивает на мысль о всяких дельфях.
16 апр 12, 17:08    [12423675]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
select @@version
Guest
KeeperRU,

select @@version

с обоих серверов
16 апр 12, 17:09    [12423682]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
Гавриленко Сергей Алексеевич
KeeperRU
Тоже самое выполняю на втором сервере.
Result := ;ЩKhЧдрЦDГЙ^5ї
Это прям из той же студии? Бо ":=" наталкивает на мысль о всяких дельфях.


Результат проверяю в SQL Server Management Studio.
Т.е. в другую программу еще результат не пересылал.

select @@version
1) Первый сервер
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

2) Второй (тут каракули)
Microsoft SQL Server 2005 - 9.00.5057.00 (X64) Mar 25 2011 13:33:31 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)
16 апр 12, 17:26    [12423802]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А версию студии покажите еще.
16 апр 12, 17:27    [12423811]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
iljy
Member

Откуда:
Сообщений: 8711
KeeperRU
2) Второй (тут каракули)
Microsoft SQL Server 2005 - 9.00.5057.00 (X64) Mar 25 2011 13:33:31 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Тип 2 для CONVERT появился только в 2008, попробуйте использовать fnBinaryToHex (кажется так, точно не помню, искать лень).
16 апр 12, 17:29    [12423822]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
Гавриленко Сергей Алексеевич
А версию студии покажите еще.


1)
Microsoft SQL Server Management Studio 10.50.2500.0
Microsoft Analysis Services Client Tools 10.50.2500.0
Microsoft Data Access Components (MDAC) 6.1.7601.17514
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 9.0.8112.16421
Microsoft .NET Framework 2.0.50727.5448
Operating System 6.1.7601

2)
Microsoft SQL Server Management Studio 10.0.1600.22 ((SQL_PreRelease).080709-1414 )
Microsoft Analysis Services Client Tools 2007.0100.1600.022 ((SQL_PreRelease).080709-1414 )
Microsoft Data Access Components (MDAC) 2000.086.3959.00 (srv03_sp2_rtm.070216-1710)
Microsoft MSXML 2.6 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 8.0.6001.18702
Microsoft .NET Framework 2.0.50727.3625
Operating System 5.2.3790
16 апр 12, 17:30    [12423828]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
iljy
Member

Откуда:
Сообщений: 8711
KeeperRU,

master.dbo.fn_sqlvarbasetostr
16 апр 12, 17:31    [12423830]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
iljy
KeeperRU
2) Второй (тут каракули)
Microsoft SQL Server 2005 - 9.00.5057.00 (X64) Mar 25 2011 13:33:31 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Тип 2 для CONVERT появился только в 2008, попробуйте использовать fnBinaryToHex (кажется так, точно не помню, искать лень).


Попробую завтра, но Тип 1 тоже каракули выдает.
16 апр 12, 17:32    [12423832]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
iljy
Member

Откуда:
Сообщений: 8711
KeeperRU
iljy
пропущено...

Тип 2 для CONVERT появился только в 2008, попробуйте использовать fnBinaryToHex (кажется так, точно не помню, искать лень).


Попробую завтра, но Тип 1 тоже каракули выдает.

Потому что он тоже появился только в 2008. Откройте доки наконец.
16 апр 12, 17:35    [12423845]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
iljy
KeeperRU
пропущено...


Попробую завтра, но Тип 1 тоже каракули выдает.

Потому что он тоже появился только в 2008. Откройте доки наконец.


Я не администратор SQL сервера. К SQL прибегаю очень редко, когда иначе проблему не решить или требуется производительность высокая.
Нету у меня ни документации, ни глубоких познаний в SQL. :)

Не ожидал просто что c convert столько проблем возникнет, вроде элементарная вещь.
16 апр 12, 18:43    [12424038]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
iljy
Member

Откуда:
Сообщений: 8711
KeeperRU,

элементарные вещи тоже меняются от версии к версии. Вам реально проще полтора часа висеть на форуме чем потратить 5 минут на чтение документации?
16 апр 12, 18:45    [12424052]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
iljy
Вам реально проще полтора часа висеть на форуме чем потратить 5 минут на чтение документации?
Интересно, а сколько адекватных людей - не зашли на форум, ибо нашли всё в доках?
А сколько из них всё-таки сюда заглянули?
А сколько из них отвечают другим?
17 апр 12, 00:13    [12424858]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
iljy
KeeperRU,

элементарные вещи тоже меняются от версии к версии. Вам реально проще полтора часа висеть на форуме чем потратить 5 минут на чтение документации?


Я читал документацию по функциям которые меня интересовали, но она была свежая так что я ничего не заподозрил.
Моя основная деятельность не связана с SQL, так что да мне проще спросить, ведь на то он и форум. :)

В любом случае даже если бы я обнаружил, что стилей в 2005 году этих не было, я бы пришел сюда спросить как иначе конвертить varbinary.

------------------------------------------------------------------

автор
master.dbo.fn_sqlvarbasetostr
fnBinaryToHex

Погулил не понял как этим пользоваться в SQL-запросе.

Я так понял это связано с хранимыми процедурами, мне нужен способ без них.
17 апр 12, 09:26    [12425425]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
Пардон разобрался,

SELECT sys.fn_sqlvarbasetostr(HASHBYTES('MD5', 'password'))
17 апр 12, 09:29    [12425435]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
iljy
Member

Откуда:
Сообщений: 8711
KeeperRU
автор
master.dbo.fn_sqlvarbasetostr
fnBinaryToHex

Погулил не понял как этим пользоваться в SQL-запросе.

Я так понял это связано с хранимыми процедурами, мне нужен способ без них.

? Какие еще процедуры?
17 апр 12, 09:30    [12425440]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
KeeperRU
Member

Откуда:
Сообщений: 43
iljy
KeeperRU
пропущено...

Погулил не понял как этим пользоваться в SQL-запросе.

Я так понял это связано с хранимыми процедурами, мне нужен способ без них.

? Какие еще процедуры?


Такие вот:
http://sql-school.info/tutor/rabota_s_h/sozdanie_h.htm
17 апр 12, 09:43    [12425488]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
KeeperRU
iljy
пропущено...

? Какие еще процедуры?


Такие вот:
http://sql-school.info/tutor/rabota_s_h/sozdanie_h.htm
Что пишут по этой ссылке?!
Про возврат результата из процедуры оператором RETURN!
Который придуман совершенно для другого.
Я даже дальше смотреть не стал. Эту ссылку надо просто забыть.
17 апр 12, 09:51    [12425521]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
KeeperRU
Пардон разобрался,

SELECT sys.fn_sqlvarbasetostr(HASHBYTES('MD5', 'password'))

ещё вариант: fn_varbintohexstr
17 апр 12, 10:19    [12425638]     Ответить | Цитировать Сообщить модератору
 Re: Функция Convert возвращает каракули для varbinary  [new]
iljy
Member

Откуда:
Сообщений: 8711
Knyazev Alexey
ещё вариант: fn_varbintohexstr

О! Точно, я ее название вспомнить пытался
17 апр 12, 10:26    [12425687]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить