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

Откуда:
Сообщений: 399
Всем привет.
Может кто сталкивался с такой проблемой.Можно ли с приложений .NET записывать в базу сиквела на грузинском языке?
24 фев 14, 12:06    [15618337]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Kesha,

в юникодное поле?
24 фев 14, 12:07    [15618341]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Glory
Member

Откуда:
Сообщений: 104760
unicode хранит данные на любом языке
24 фев 14, 12:07    [15618347]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Kesha
Member

Откуда:
Сообщений: 399
в sql отображается ??????????
24 фев 14, 12:24    [15618482]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Kesha
Member

Откуда:
Сообщений: 399
когда ставлю collation Georgian_Modern_Sort_CI_AS то программа при поднятии пишет следующее:
System.Data.SqlClient.SqlException: The Collation specified by SQL Server is not supported
24 фев 14, 12:26    [15618493]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Kesha
когда ставлю collation Georgian_Modern_Sort_CI_AS то программа при поднятии пишет следующее:
System.Data.SqlClient.SqlException: The Collation specified by SQL Server is not supported
Повторяю вопрос: поле какого типа??
Можно полюбоваться на скрипт создания таблицы?
24 фев 14, 12:33    [15618552]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Kesha
Member

Откуда:
Сообщений: 399
Все колонки в таблицах - collation <database default>
USE MASTER
IF EXISTS (SELECT *
FROM master..sysdatabases
WHERE name = N'MCM')
ALTER DATABASE MCM SET single_user WITH ROLLBACK immediate
GO
IF EXISTS (SELECT *
FROM master..sysdatabases
WHERE name = N'MCM')
DROP DATABASE MCM
GO
CREATE DATABASE MCM
GO
-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
ALTER DATABASE MCM COLLATE Georgian_Modern_Sort_CI_AS
ALTER DATABASE MCM SET MULTI_USER
GO

REATE TABLE [dbo].[CustomerDetails] (
[CustomerID] [bigint] NOT NULL ,
[CustomerNumber] [nvarchar] (15) NULL ,
[CustomerName] [nvarchar] (50) NULL ,
[CustomerTypesID] [int] NOT NULL ,
[City] [nvarchar] (20) NULL ,
[Address] [nvarchar] (100) NULL ,
[State] [nvarchar] (20) NULL ,
[ZipCode] [nvarchar] (20) NULL ,
[PhoneNumber] [varchar] (20) NULL ,
[MobilePhoneNumber] [varchar] (20) NULL ,
[Cycle] [smallint] NULL ,
[Email] [varchar] (50) NULL ,
[CustomerComments] [nvarchar] (100) NULL ,
[DefinitionDate] [datetime] NOT NULL ,
[LastUpdate] [datetime] NOT NULL ,
[Freeze] [bit] NOT NULL ,
[Flagged] [bit] NOT NULL ,
[FreezeComments] [nvarchar] (100) NULL ,
[FlaggedComments] [nvarchar] (100) NULL
) ON [PRIMARY]
GO
24 фев 14, 12:39    [15618608]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Kesha,

надеюсь, в юникодные строки Вы вставляли литералы с лидирующей буквой N?
Запрос
SELECT * FROM fn_helpcollations() WHERE name=N'Georgian_Modern_Sort_CI_AS';
вернёт что-нибудь?
24 фев 14, 12:45    [15618665]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Дедушка Ау
Guest
Kesha,

Сдается что это не сиквела проблема.
Сталкивался в XP надо включить поддержку языков со сложным письмом или с права на лево.
24 фев 14, 13:06    [15618873]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Kesha
Member

Откуда:
Сообщений: 399
Вроде нашёл зацепку.Уже отображается,но если делается выборка поля (varchar) то выбивает в System.Data.SqlClient.SqlException: The Collation specified by SQL Server is not supported.
24 фев 14, 14:06    [15619471]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Kesha
Вроде нашёл зацепку.Уже отображается,но если делается выборка поля (varchar) то выбивает в System.Data.SqlClient.SqlException: The Collation specified by SQL Server is not supported.
Смотрите в профайлере, что там на сервер приходит.
Что Вы нам тут всё шарп да шарп!
Клиента надо отлаживать отдельно, сервер - отдельно.
Надо сначала добиться, чтобы на сервер корректный SQL уходил.
24 фев 14, 14:21    [15619638]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Kesha
Вроде нашёл зацепку.Уже отображается,но если делается выборка поля (varchar) то выбивает в System.Data.SqlClient.SqlException: The Collation specified by SQL Server is not supported.
Ошибка возникает в провайдере SQL на стороне клиента. Он не может подставить соотвествие кодировки операционной системы и приходящих данных. И не важно какой клиент .Net (C#) или нет.

Или установите соответствующую кодировку в ОС на клиенте, точнее там где это .Net (C#) код запускается или не пользуйтесь VarChar колонками и переменными (только NVarChar) при взаимодействии.

А вот явно какую кодировку ставить на клиент и как - не нашёл.
25 фев 14, 03:19    [15623364]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Mnior
или не пользуйтесь VarChar колонками и переменными (только NVarChar) при взаимодействии.
У него все поля NVARCHAR()
25 фев 14, 09:52    [15623763]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Дедушка Ау
Guest
Kesha
делается выборка поля (varchar)


Делайте выборку поля (nvarchar) ну и, наверное, .Netовский DbType Вам в помощь.
25 фев 14, 10:25    [15623940]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
iap
У него все поля NVARCHAR()
Где? Что в коде, что прямо пишет VarChar.
25 фев 14, 19:11    [15628486]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Дедушка Ау
ну и, наверное, .Net-овский DbType Вам в помощь.
А это как поможет?
25 фев 14, 19:12    [15628489]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Mnior
iap
У него все поля NVARCHAR()
Где? Что в коде, что прямо пишет VarChar.
несколько постов выше - СREATE TABLE [dbo].[CustomerDetails]
Правда, нигде ничего не оформлено как положено.
25 фев 14, 21:14    [15629136]     Ответить | Цитировать Сообщить модератору
 Re: Collation Грузия  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
iap,
Kesha
ALTER DATABASE MCM COLLATE Georgian_Modern_Sort_CI_AS
GO
CREATE TABLE [dbo].[CustomerDetails] (
	[CustomerID] [bigint] NOT NULL ,
	[CustomerNumber] [nvarchar] (15)  NULL ,
	[CustomerName] [nvarchar] (50)  NULL ,
	[CustomerTypesID] [int] NOT NULL ,
	[City] [nvarchar] (20)  NULL ,
	[Address] [nvarchar] (100)  NULL ,
	[State] [nvarchar] (20)  NULL ,
	[ZipCode] [nvarchar] (20)  NULL ,
	[PhoneNumber] [varchar] (20)  NULL ,
	[MobilePhoneNumber] [varchar] (20)  NULL ,
	[Cycle] [smallint] NULL ,
	[Email] [varchar] (50)  NULL ,
	[CustomerComments] [nvarchar] (100)  NULL ,
	[DefinitionDate] [datetime] NOT NULL ,
	[LastUpdate] [datetime] NOT NULL ,
	[Freeze] [bit] NOT NULL ,
	[Flagged] [bit] NOT NULL ,
	[FreezeComments] [nvarchar] (100)  NULL ,
	[FlaggedComments] [nvarchar] (100)  NULL 
) ON [PRIMARY]
GO
Kesha
Уже отображается, НО если делается выборка поля (varchar)
А говорят что форматирование фуфел. Ага, ага.
26 фев 14, 01:05    [15629842]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить