sql запрос по пулу не читает казахское письмо - PullRequest
0 голосов
/ 25 октября 2018

Я работаю над инструментом, который будет загружать данные в R из базы данных сервера SQL и будет работать с некоторыми сотрудниками.Из-за того, что есть несколько источников данных, к которым я присоединяюсь с пулом пакетов.Я сталкиваюсь с проблемой, что это не работает, когда я запрашиваю объекты с казахской буквой.Вот пример кода

poolDash <- dbPool(
         drv = odbc::odbc(),
         Driver = "ODBC Driver 17 for SQL Server",
         Database = "database",
         Server = "server",
         UID = "user",
         PWD = "password")
 data <- pool::dbGetQuery(poolDash, "SELECT * from database 
                                     where ObjectName in ('Мәңгілік')")

Тот же запрос с ObjectName без казахских букв работает хорошо.

Любая помощь приветствуется.Заранее спасибо

Обновление: я видел несколько советов о том, что столбец должен быть типа nvarchar с ограниченным размером, например, nvarchar (100).Это уже nvarchar (100), и он помогает мне работать с русскими буквами, но не с казахскими.

В данном конкретном примере казахскими буквами являются "әң", вторые и третьи буквы.

1 Ответ

0 голосов
/ 25 октября 2018

вы можете попытаться получить данные с префиксом N.

"SELECT * from database 
         where ObjectName in (N'Мәңгілік')"
...