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

Откуда:
Сообщений: 7
Как можно преобразовать binary(16) в другой тип, чтобы избежать потери cвойства глобальной уникальности данных и иметь нормальное внешнее представление данных? Желательно - иметь циферно-текстовое представление (с английскими буквами!) или представление из одних цифрах,
при этом допустимо разделять это значение на несколько столбцов.
Конечная цель - использовать полученное значение как ключ в системе, которая не поддерживает binary(16) как тип ключа.
13 май 08, 16:42    [5657199]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
Glory
Member

Откуда:
Сообщений: 104760
Разве уникальность значения как то зависит от типа ?
13 май 08, 16:46    [5657231]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
ffelix
Member

Откуда:
Сообщений: 7
а из моего вопроса следовало что-то подобное?
Система, в которую из SQL будут переносится данные
не может с ними работать, пока ключ имеет тип данных binary(х).
Поэтому и возникает вопрос - как бы его лучше преобразовать.
16 май 08, 21:22    [5676410]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
Steelvan
Member

Откуда: Питер
Сообщений: 116
master.dbo.fn_varbintohexstr(RegistrNakopleniia_OstatkiPoSpecifikaciiamDLO_Osnovnaia._Fld9601RRef) AS GosKontrakt,
17 май 08, 15:39    [5677545]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
Steelvan
Member

Откуда: Питер
Сообщений: 116
Будет тебе строка.
17 май 08, 15:39    [5677547]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Glory
Разве уникальность значения как то зависит от типа ?
ffelix
а из моего вопроса следовало что-то подобное?
А вот это не Вы спрашивали?
ffelix
Как можно преобразовать binary(16) в другой тип, чтобы избежать потери cвойства глобальной уникальности данных
17 май 08, 16:15    [5677579]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
ffelix
Member

Откуда:
Сообщений: 7
Steelvan
master.dbo.fn_varbintohexstr(RegistrNakopleniia_OstatkiPoSpecifikaciiamDLO_Osnovnaia._Fld9601RRef) AS GosKontrakt,


Спасибо! это именно то представление которого я хотел.
Только рождается следующий вопрос - в столбец какого типа можно
будет поместить это значение? ntext не подходит, т.к. столбец такого
типа не может выступать в качестве ключа (в Analysis Service).
Пытался в char(34) и nchar(34) но не получилось.

я правильно понял, что "RegistrNakopleniia_OstatkiPoSpecifikaciiamDLO_Osnovnaia"
название регистра из хранилища данных для 1Сv8?
Если да - можете подсказать как лучше его проектировать? (возможно - сможете
выслать проект Integration Service, если используется именно он?)
18 май 08, 16:46    [5679654]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
Glory
Member

Откуда:
Сообщений: 104760
ffelix
Steelvan
master.dbo.fn_varbintohexstr(RegistrNakopleniia_OstatkiPoSpecifikaciiamDLO_Osnovnaia._Fld9601RRef) AS GosKontrakt,


Спасибо! это именно то представление которого я хотел.
Только рождается следующий вопрос - в столбец какого типа можно
будет поместить это значение? ntext не подходит, т.к. столбец такого
типа не может выступать в качестве ключа (в Analysis Service).
Пытался в char(34) и nchar(34) но не получилось.

"Не получилось" - это такое сообщение об ошибке что ли ?
18 май 08, 17:59    [5679781]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
ffelix
Member

Откуда:
Сообщений: 7
При попытке записи значения master.dbo.fn_varbintohexstr(_Fld4321RRef) AS _Fld4321RRef
в столбец с типом nchar(34) пакет Integration Service выдает следующую ошибку:

"Ошибка: 0xC0202025 в Задача "Поток данных", Назначение - AccumReg_Prodaji [82]: Не удается создать метод доступа к OLE DB. Проверьте правильность метаданных столбца."

Попробовал следующую конструкцию:
CONVERT(nchar(34), master.dbo.fn_varbintohexstr(_Fld4321RRef)) AS _Fld4321RRef
записывать в поле типа nchar(34).
Сначала получил ошибку невозможности преобразования между не Юникод и Юникод значениями.
При повторной попытке получил ошибку указанную выше:
"Ошибка: 0xC0202025 в Задача "Поток данных", Назначение - AccumReg_Prodaji [82]: Не удается создать метод доступа к OLE DB. Проверьте правильность метаданных столбца."
19 май 08, 10:24    [5680983]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Преобразование типа binary(16)  [new]
serg1974serg1974
Member

Откуда:
Сообщений: 71
Здравствуйте! аналогичная проблема!
Пытаюсь развернуть куб AS по SQL базе и получаю ошибку "Ошибка 1 DimensionAttribute [Продажи 1].[Ид Накл] : Тип данных "Binary" недопустим для свойства №0 объекта "KeyColumns". 0 0 "
Уже прочитал тут: http://msdn.microsoft.com/ru-ru/library/gg471558.aspx
про то что:
Object: DimensionAttribute
Привязка: KeyColumns
Допустимые типы данных: Все, кроме Binary

А как быть если в источнике данных база SQL у которой все ID поля формата binary(16)

Подскажите плиз - опыт создания кубов - небольшой по AS SQL 2000 а в 2008 все усложнили - не знаю куда копать :(
11 фев 14, 16:59    [15552492]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование типа binary(16)  [new]
Glory
Member

Откуда:
Сообщений: 104760
serg1974serg1974
А как быть если в источнике данных база SQL у которой все ID поля формата binary(16)

менять на другой тип

serg1974serg1974
одскажите плиз - опыт создания кубов - небольшой по AS SQL 2000 а в 2008 все усложнили - не знаю куда копать :(
Форум по кубам находится здесь https://www.sql.ru/forum/olap-dwh
11 фев 14, 17:03    [15552528]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить