Культура не поддерживается в мастере импорта и экспорта SQL Server

#sql-server #ssis #import-from-excel #sql-import-wizard

Вопрос:

Я пытался импортировать данные из файла Excel в базу данных SQL Server. Как ни странно, со вчерашнего дня я добился успеха 2 раза, а сотни других раз потерпел неудачу. Я думал, что игра со строкой подключения в мастере импорта и экспорта SQL Server может решить мою проблему, но сейчас это не работает. Похоже, что эта ошибка может быть связана с языком, и я изменил язык Microsoft SQL Server Management Studio, чтобы он соответствовал моему языку Windows, по этому пути: Tools--> options --> Environment --> International Setting --> "Same as Microsoft Windows" а затем перезапустил MSS Management Studio и не работал. Также подключение к MSS Management Studio спроверка подлинности Windows и проверка подлинности SQL Server все опробованы. Когда я подключаюсь с помощью проверки подлинности Windows, результатом select @@language является немецкий, а когда я подключаюсь с помощью проверки подлинности SQL Server, результатом является английский язык США. Я пробовал разные комбинации, и это все равно не работает. Языковые настройки моей системы очень сложны. Похоже, для меня они изменили его на английский, но в его основе вы все еще можете видеть немецкий как язык в некоторых ситуациях.

Также я попытался set language English; выполнить запрос SQL Server, и это не помогло, потому что он не имеет прямого отношения к мастеру импорта/экспорта. В самом мастере есть поле для языка (при подключении), и я тоже играл с ним; тоже не помогло.

Есть идеи, как я могу передать эту ошибку? Кроме того, я понятия не имею, как это работало 2 раза.

Строка подключения, которую я использую в мастере и которая, как мне кажется, работала когда-то, выглядит так:

 Data Source=MyServerName;Initial Catalog=MyDestinationDB;Integrated Security=True;
User ID=MySQLUser;Password=*********;MultipleActiveResultSets=True;ApplicationIntent=ReadWrite
 

И ошибка, которую я получаю, выглядит следующим образом (у меня есть много других ошибок, но эта самая серьезная).

Ошибка

Комментарии:

1. Пожалуйста, укажите запрос, который вы выполняете.

2. Вполне вероятно, что у вас разные языки по умолчанию для входа в SQL и входа в Windows. Вы можете убедиться, что они одинаковы, проверив их в разделе sys.server_principals . Что-то вроде SELECT default_language_name FROM sys.server_principals WHERE name = 'YourLoginName'; . Также вам следует предоставить некоторые примеры данных из вашего листа Excel вместе с определением в таблицу, в которую вы пытаетесь его импортировать.

3. @Andrewo’Brien Спасибо вам за ваше сообщение. На самом деле я не пишу запрос. В мастере, после выбора источника и назначения и свойств подключения, есть страница для Specify Table Copy or Query , и на этой странице есть два варианта: Copy data from one or more table or views и Write query to specify the data to transfer . Я выбираю первый, потому что не знаю, какой именно запрос мне следует написать, чтобы скопировать данные из Excel на SQL Server. Но я знаю, что какой-то запрос автоматически записывается в фоновом режиме, который я не вижу.

4. @trenton-ftw Спасибо за ваш комментарий. Я попробовал SELECT default_language_name FROM sys.server_principals , и он вернул мне список в основном нулевых значений, только первая и последняя запись были на американском английском языке при подключении с проверкой подлинности SQL Server. Но при подключении с проверкой подлинности Windows один из этих двух был us_english , а другой- Deutsch . Как теперь я могу использовать эту информацию для решения проблемы? Также я не понял, как «предоставить образцы данных из Excel» и как это может помочь.

5. @Iraj вы также можете просто вручную проверить язык по умолчанию для каждого пользователя, просмотрев свойства в обозревателе объектов SSMS. Щелкните правой кнопкой мыши на логине, выберите «Свойства», и внизу вкладки «Общие» будет указан язык по умолчанию для этого входа.