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

Откуда:
Сообщений: 22
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft Corporation Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)

Создаю пользовательский тип и процедуру в 1 -й базе.

use Lawyer
CREATE TYPE mytp4 AS TABLE (list varchar(10))

alter proc _test 
(@tp mytp4 readonly)
as
select * from @tp


пытаюсь вызвать из другой
use customers
CREATE TYPE mytp4 AS TABLE (list varchar(10))
declare @tp mytp4
insert into @tp(list) values('1');
insert into @tp(list) values('2');

exec Lawyer.dbo._test @tp


пишет

Operand type clash: mytp4 is incompatible with mytp4

хотя здесь http://msdn.microsoft.com/ru-ru/library/ms178069(v=sql.105).aspx написано, что так можно делать
7 дек 12, 12:11    [13593239]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
[url=http://msdn.microsoft.com/ru-ru/library/ms178069(v=sql.105).aspx ]http://msdn.microsoft.com/ru-ru/library/ms178069(v=sql.105).aspx [/url]
автор
Допустим, пользовательский тип u1 создан в базах данных db1 и db2.
7 дек 12, 12:15    [13593265]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
Andrey_Rb
Member

Откуда:
Сообщений: 22
У меня он и создан в 2-х базах
7 дек 12, 12:17    [13593278]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
Glory
Member

Откуда:
Сообщений: 104760
Andrey_Rb
пишет

Operand type clash: mytp4 is incompatible with mytp4

Это при выполнении или компиляции ?
7 дек 12, 12:20    [13593309]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
Andrey_Rb
Member

Откуда:
Сообщений: 22
при выполнении
7 дек 12, 12:24    [13593343]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
Andrey_Rb
Member

Откуда:
Сообщений: 22
ругается на процедуре
7 дек 12, 12:27    [13593377]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
Гость333
Member

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

Здесь Микрософт закрыл этот баг как "Won't Fix":
function using table-valued params cannot be used from other database

Так что придумайте какое-нибудь другое решение...
7 дек 12, 12:48    [13593569]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
В общем, логично.
Откуда сервер знает, что два типа из разных баз совместимы?
Другое дело, почему он не разрешает именовать типы с указанием базы.
Наверно, есть какие-то причины
7 дек 12, 12:54    [13593651]     Ответить | Цитировать Сообщить модератору
 Re: 1 пользовательский тип в разных базах на 1 сервере  [new]
Andrey_Rb
Member

Откуда:
Сообщений: 22
Понятно, спасибо все за помощь!
7 дек 12, 13:03    [13593738]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить