Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Портиться кодировка при выполнении скрипта при помощи sqlcmd / 3 сообщений из 3, страница 1 из 1
14.08.2018, 13:59
    #39687472
Портиться кодировка при выполнении скрипта при помощи sqlcmd
Есть таблица в БД
Код: sql
1.
2.
3.
4.
5.
6.
7.
USE [working]
GO

CREATE TABLE [dbo].[buildings_mssql]( [sys] [bigint] NOT NULL, [city] [nvarchar](max) NULL, [street] [nvarchar](max) NULL,	[num] [nvarchar](55) NULL,	[geom] [geometry] NULL,	[Adres] [nvarchar](500) NULL, [Name] [nvarchar](3000) NULL,	[Elevation] [nvarchar](50) NULL,	[type] [nvarchar](1000) NULL,	[nazn] [nvarchar](1000) NULL,	[district] [nvarchar](500) NULL,	[city2g] [nvarchar](300) NULL,	[source] [nvarchar](10) NULL,	[id]  AS ([sys]),	[nist] [int] NULL,	[idbo] [int] NULL,
PRIMARY KEY CLUSTERED ( [sys] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO



Есть задача заполнить её из скрипта. Вот, например, такой скрипт
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
begin tran
truncate table [working].[dbo].[buildings_mssql]
commit
go

begin tran

insert into [working].[dbo].[buildings_mssql] (  [Adres], [city], [city2g], [district], [Elevation], [geom], [Name], [nazn], [num], [source], [street], [sys],  [type]
) values ( 
  'Санкт-Петербург, улица Подвойского,д.50 к1',
  'Санкт-Петербург',
  'Санкт-Петербург',
  'Невский',
  '9',
  geometry::STGeomFromText('POLYGON((30.4998544801568 59.9204138699401,30.5001186746819 59.9204820809014,30.5002411150551 59.9203599764279,30.5001638599407 59.9203418768327,30.5002872884607 59.9202265704737,30.5004243713731 59.9202615991562,30.5005533694479 59.9201423754172,30.5004713532624 59.9201206737691,30.5006544299173 59.9199390007019,30.5004060457413 59.9198795684045,30.5002876477868 59.9200028002541,30.5003459484488 59.9200186938426,30.5001960196278 59.9201720913439,30.5000625299766 59.9201389986057,30.499939011625 59.920254575413,30.5000026123472 59.920270378833,30.4998544801568 59.9204138699401))',4326),
  null,
  'Жилой дом с административными помещениями',
  '50 к1',
  'osm',
  'улица Подвойского',
  71699,
  'Жилые дома'
);

commit
go


Пытаюсь выполнить его с помощью sqlcmd
Код: powershell
1.
sqlcmd -S 127.0.0.1 -U sa -P "<hjy[jkbnby5" -e -f 65001 -i d:\trash\bl2.sql


В консоль выводит вроде даже все нормально
sqlcmd -S 127.0.0.1 -U sa -P "<hjy[jkbnby5" -e -fi:65001,o:1251 -R -i d:\trash\bl2.sql
begin tran
truncate table [working].[dbo].[buildings_mssql]
commit


begin tran

insert into [working].[dbo].[buildings_mssql] (
[Adres],
[city],
[city2g],
[district],
[Elevation],
[geom],
[Name],
[nazn],
[num],
[source],
[street],
[sys],
[type]
) values (
'Санкт-Петербург, улица Подвойского,д.50 к1',
'Санкт-Петербург',
'Санкт-Петербург',
'Невский',
'9',
geometry::STGeomFromText('POLYGON((30.4998544801568 59.9204138699401,30.5001186746819 59.9204820809014,30.5002411150551 59.9203599764279,30.5001638599407 59.9203418768327,30.5002872884607 59.9202265704737,30.5004243713731 59.9202615991562,30.5005533694479 59.9201423754172,30.5004713532624 59.9201206737691,30.5006544299173 59.9199390007019,30.5004060457413 59.9198795684045,30.5002876477868 59.9200028002541,30.5003459484488 59.9200186938426,30.5001960196278 59.9201720913439,30.5000625299766 59.9201389986057,30.499939011625 59.920254575413,30.5000026123472 59.920270378833,30.4998544801568 59.9204138699401))',4326),
null,
'Жилой дом с административными помещениями',
'50 к1',
'osm',
'улица Подвойского',
71699,
'Жилые дома'
);

commit


(1 rows affected)
И вот что получается в базеsyscitystreetnumgeomAdresNameElevationtypenazndistrictcity2gsourceidnistidbo71699?????-?????????????? ???????????50 ?1some geom?????-????????? ????? ????????????.50 ?1NULL9????? ????????? ??? ? ????????????????? ???????????????????????-?????????osm71699NULLNULL
Но это все происходит, когда пытаешся выполнить на сервере
Конфигурация сервера:
Windows Server 2016 Standart x64,
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 7:04:49 Copyright (C) 2017 Microsoft Corporation Express Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor)
результат chcp из консоли: Текущая кодовая страница: 866

Когда пытаюсь сделать то же самое на своей рабочей станции, то все нормально
Конфигурация рабочего места:
Windows 10 Pro x 64,
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Enterprise Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 17134: ) (Hypervisor)
результат chcp из консоли: Текущая кодовая страница: 866
...
Рейтинг: 0 / 0
14.08.2018, 14:01
    #39687477
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Портиться кодировка при выполнении скрипта при помощи sqlcmd
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
insert into [working].[dbo].[buildings_mssql] (  [Adres], [city], [city2g], [district], [Elevation], [geom], [Name], [nazn], [num], [source], [street], [sys],  [type]
) values ( 
  N'Санкт-Петербург, улица Подвойского,д.50 к1',
  N'Санкт-Петербург',
  N'Санкт-Петербург',
  N'Невский',
  N'9',
  geometry::STGeomFromText('POLYGON((30.4998544801568 59.9204138699401,30.5001186746819 59.9204820809014,30.5002411150551 59.9203599764279,30.5001638599407 59.9203418768327,30.5002872884607 59.9202265704737,30.5004243713731 59.9202615991562,30.5005533694479 59.9201423754172,30.5004713532624 59.9201206737691,30.5006544299173 59.9199390007019,30.5004060457413 59.9198795684045,30.5002876477868 59.9200028002541,30.5003459484488 59.9200186938426,30.5001960196278 59.9201720913439,30.5000625299766 59.9201389986057,30.499939011625 59.920254575413,30.5000026123472 59.920270378833,30.4998544801568 59.9204138699401))',4326),
  null,
  N'Жилой дом с административными помещениями',
  N'50 к1',
  N'osm',
  N'улица Подвойского',
  71699,
  N'Жилые дома'
);
...
Рейтинг: 0 / 0
14.08.2018, 14:16
    #39687499
Портиться кодировка при выполнении скрипта при помощи sqlcmd
Гавриленко Сергей Алексеевич, Ой, сработало!!!
Спасибо!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Портиться кодировка при выполнении скрипта при помощи sqlcmd / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]