Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > кирилица в связанной таблице


Автор: vretsky 7.8.2008, 17:18
Есть БД на SQL Server 2005 Expres, есть файл MS Access 2000 где созданы связи с таблицами SQL. 
Есть ли возможность в аксес написать запрос к этим таблицам с использованием кирилици? 
типа 

SELECT * 
FROM BLABLA 
WHERE COL1 LIKE N'%У ПОПА БЫЛА КОРОВА%'



Collation БД под SQL Server -SQL_Latin1_General_CP1_CI_AS

Автор: Magnifico 10.8.2008, 13:39
что мешает проверить.

Код

CREATE TABLE TestTab (
   id int, 
   CirilicCol nvarchar(25) collate database_default , 
   LatinCol nvarchar(25) collate SQL_Latin1_General_CP1_CI_AS
   )

INSERT TestTab VALUES (1, 'Вася', 'Вася');
INSERT TestTab VALUES (2, 'Петя', 'Петя');
INSERT TestTab VALUES (3, 'Вова', 'Вова');

select * from testtab
where LatinCol  like N'в%я'

Автор: vretsky 11.8.2008, 15:12
подробно. есть БД СУБД MS SQL 2005. создаю файл Access. в Access создаю связи с таблицами SQL Servera (файл->внешние данные->связь с таблицами). Collation БД под SQL Server -SQL_Latin1_General_CP1_CI_AS. в связанных таблицах есть данные содержащие кирилицу. запрос на выборку из Access типа 

select *
from table1
where name like "*вася петин*"

возвращает пустой набор записей, хотя в поле table1.name есть данные содержащие подстроку "вася петин". 

вопрос: есть ли возможность передать в этом случае в запрос кирилицу и если есть то как?

Автор: Magnifico 11.8.2008, 19:19
все работает из аксесса , еще вчера проверил:

настройки отдельных полей имею больший приоритет перед настроками сервера:
Код

LatinCol nvarchar(25) collate SQL_Latin1_General_CP1_CI_AS


Код

select * from testtab
where LatinCol  like 'в%я'

в TSQL нет звездочек и не важно из какой программы сделан запрос.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)