Ошибка при создании таблицы sql server

  • Remove From My Forums
  • Вопрос

  • Имеется SQL Server 2012 Standard, только что установленный. На всякий случай: также установлено Visual Studio 2012 Prof, Visual Basic 2012 Express,  .Net Framework 4.5.

    Подключаемся через Management Studio, создаём базу данных, вроде всё нормально. Но когда на разделе «Таблицы» нашей созданной базы нажимаем «Создать таблицу», оно говорит: «Не удалось найти запрошенного поставщика данных .Net Framework. Возможно он не установлен.
    (System.Data)»

    В чём может быть дело?

Ответы

  • Криво у вас что-то встало просто. Попробуйте снести всё и поставить в последовательности: .Net, SQL 2012, VS 2012.
     

    • Предложено в качестве ответа

      30 сентября 2012 г. 17:27

    • Помечено в качестве ответа
      Иван ПродановMicrosoft contingent staff, Moderator
      13 марта 2013 г. 15:05

For some reason I can’t create a new table from an another in SSMS.

use master;

create table bop as
select *
from dbo.Data$
where [2016] is not null and 
      [Series Name] = 'Imports of goods and services (% of GDP)' or 
      [Series Name] = 'Exports of goods and services (% of GDP)'
order by [Country Name] asc;

It outputs the error:

Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword ‘select’.

Anybody experienced this problem before? I’m thinking its a bug

Ilyes's user avatar

Ilyes

14.6k4 gold badges29 silver badges54 bronze badges

asked Aug 23, 2018 at 10:11

BarneGr's user avatar

2

That is invalid SQL syntax for SQL Server :

Instead you can do :

select d.* into bop
from dbo.Data$ d
where [2016] is not null and 
      [Series Name] in ('Imports of goods and services (% of GDP)', 'Exports of goods and services (% of GDP)')
order by [Country Name] asc;

Note :

  • Use IN clause if you have a more than one constant values that is easier read & write.
  • OR evaluates constant values one by one with no particular order, while IN sorts the list. So, IN is faster in some circumstances.

  • OR will not include nulls values if you have, but IN will include null. So, choose one of them based on what actually you want.

answered Aug 23, 2018 at 10:13

Yogesh Sharma's user avatar

Yogesh SharmaYogesh Sharma

49.8k5 gold badges24 silver badges51 bronze badges

1

Try below way

SELECT * INTO schema.newtable FROM schema.oldtable WHERE 1 = 0

From your query you have to remove

create table bop as  ## this portion

and instead of it you have to add select * INTO bop

So your query will be

select * INTO bop
from dbo.Data$
where [2016] is not null and 
    (  [Series Name] = 'Imports of goods and services (% of GDP)' or 
      [Series Name] = 'Exports of goods and services (% of GDP)'
    )
order by [Country Name]

Instead of OR you can use in operator

select * INTO bop
    from dbo.Data$
    where [2016] is not null and 
          [Series Name] in ('Imports of goods and services (% of GDP)',
           'Exports of goods and services (% of GDP)')
    order by [Country Name]

Your Error analysis

  • Msg 156, Level 15, State 1, Line 4 Incorrect syntax near the keyword
    ‘select’.

As you used wrong sql statement to create one table from others table thats why sqlserver thrown systax Error

answered Aug 23, 2018 at 10:13

Zaynul Abadin Tuhin's user avatar

3

You have several issues with your query. The correct syntax for what you intend is:

select d.*
into bop
from dbo.Data$ d
where [2016] is not null and 
      [Series Name] in ('Imports of goods and services (% of GDP)', 'Exports of goods and services (% of GDP)');

Note the following:

  • SQL Server uses select into, not create table as. This is your basic syntax error.
  • Presumably, you want either series name and 20161 not to beNULL.indoes this.ANDhas higher precedence thanOR`, so your logic does something different.
  • ORDER BY is not appropriate, unless the destination table has an identity column. SQL tables represent unordered sets. The only ordering would be on the values in the identity column.

answered Aug 23, 2018 at 10:25

Gordon Linoff's user avatar

Gordon LinoffGordon Linoff

1.2m57 gold badges640 silver badges782 bronze badges

Создаю таблицу в SQL Server:

USE ##gz;
GO
CREATE TABLE mt(
[num_notice] NCHAR(50),
[num_contract] NCHAR(50),
[fz] NCHAR(50),
[name_customer] NCHAR(4000),
[inn_customer] NCHAR(50),
[kpp_customer] NCHAR(50),
[tel_customer] NCHAR(50),
[mail_customer] NCHAR(50),
[name_producer] NCHAR(4000),
[inn_producer] NCHAR(50),
[kpp_producer] NCHAR(50),
[tel_producer] NCHAR(50),
[mail_producer] NCHAR(50),
[product] NVARCHAR(MAX),
[okpd2] NCHAR(50),
[product_price] FLOAT,
[qnt] FLOAT,
[unit] NCHAR(50),
[cost] FLOAT,
[delivery_region] NVARCHAR(MAX),
[date_start_buy] NCHAR(1000),
[date_stop_request] NCHAR(1000),
[date_contract] NCHAR(1000),
[date_delivery] NCHAR(1000),
[status] NCHAR(100),
[contract_price] FLOAT,
[currency] NCHAR(100),
[qnt_conract] INT,
[ident_code] NCHAR(100),
[year] INT,
[month] INT,
[day] INT,
[region_customer] NCHAR(4000),
[region_producer] NCHAR (4000),
[class] NCHAR(1000),
[type] NCHAR(1000))

При выполнении получаю ошибку:

Сообщение 1701, уровень 16, состояние 1, строка 3
Ошибка создания или изменения таблицы "mt", так как минимальный размер строки равен 45959, включая 11 байт внутренней дополнительной памяти. Это превышает максимально допустимый размер строки таблицы, 8060 байт.

Как исправить и в чем ошибка
Спасибо.

  • Remove From My Forums

 none

Ошибка при создании таблицы

  • Question

  • Здравствуйте. Выполняю запрос к базе данных чтобы создать в ней таблицу:

    private void Btn_addtable(object sender, RoutedEventArgs e)
            {
                String sql;
                SqlConnection Conn = new SqlConnection("Server=localhost;Integrated Security=true;Initial Catalog=D:\MyDatabaseData.mdf;");
    
                sql = "CREATE TABLE myTable" +
                "(myId INTEGER CONSTRAINT PMyId PRIMARY KEY," +
                "myName CHAR(50), myAddress CHAR(255), myBalance FLOAT)";
    
                SqlCommand Command = new SqlCommand(sql,Conn);
                try
                {
                    Conn.Open();
                    Command.ExecuteNonQuery();
                }
                finally
                {
                    if (Conn.State == ConnectionState.Open)
                    {
                        Conn.Close();
                    }
                }
    
            }

    Но выдает ошибку:»Не удается открыть базу данных «D:MyDatabaseData.mdf», запрашиваемую именем входа. Не удалось выполнить вход.
    Ошибка входа пользователя .»

    База данных есть, лог файл к ней есть ,в sql server manager открывается без вопросов.

    В чем проблема?

    • Edited by

      Monday, December 18, 2017 5:43 PM

Answers

  • Вот как то так:

    https://msdn.microsoft.com/en-us/library/aa337545%28v=sql.105%29.aspx

    Есть так же шанс что вы пытайтесь добавить таблицу в master (или что то в этом роде) на что прав нет. Это возможно потому что строка соединения содержит файл в InitialCatalog вместо того чтоб указывать файл в параметре AttachDBFilename.
    Не помню если файл можно подсунуть в InitialCatalog или нет, по моему нет.

    Так же в следующий раз указывайте точную строку в которой происходит исключение и полный его текст вызовом ToString() на исключении. В случае SqlException так же список ошибок:

    https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlerrorcollection(v=vs.110).aspx


    This posting is provided «AS IS» with no warranties, and confers no rights.

    • Marked as answer by
      afomin31
      Wednesday, December 20, 2017 9:20 PM

  • Да дело не в пользователе. У вас база, задаваемая параметром InitialCatalog, не открывается. Для справки, параметром InitialCatalog передается имя присоединенной к серверу БД (как оно отображается в списке баз данных),
    а не путь к ее файлу.

    • Marked as answer by
      afomin31
      Wednesday, December 20, 2017 9:20 PM

  • Поиск
  • Помощь
  • Участники
  • Регистрация
  • Вход
  • Начало

Начало » Использование СУБД » Microsoft SQL Server » Создание таблицы в Microsoft SQL Server Management Studio


Показать:
Сегодняшние сообщения
:: Голосования
:: Навигатор по сообщениям

Отправить по e-mail 

Переключение в режим просмотра в виде древовидного списка сообщений и ответов Создать новую тему Отправить ответ
Создание таблицы в Microsoft SQL Server Management Studio [сообщение #1060] Fri, 25 November 2022 21:01 Переход к следующему сообщению
Helbr в настоящее время не в онлайне 
Helbr

Сообщений: 1
Зарегистрирован: November 2022

Junior Member

Добрый день.
Только начал изучать SQL Если что то написал неверно прошу не судите строго.
Скачал и установил Microsoft SQL Server Management Studio 18
Создал свою Базу данных
При создании таблицы Программа выдает ошибку Данная серверная версия не поддерживает конструирование диаграмм баз данных и таблиц. (Визуальные инструменты для баз данных)
Подскажите пожалуйста как исправить.
Заранее спасибо!
P.S. Только сегодня начал изучать

Известить модератора

 Отправить личное сообщение этому участнику

 

 

Re: Создание таблицы в Microsoft SQL Server Management Studio [сообщение #1061 является ответом на сообщение #1060] Sat, 26 November 2022 20:24 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне 
BlackEric

Сообщений: 198
Зарегистрирован: June 2022

Senior Member

Это вы, судя по всему нажали на узел дерева Системные таблицы». В MS SQL системные таблицы скрыты. И доступны для просмотра только при подключении через DAC.
Для создания таблицы нужно нажать правой мышей на узле «Таблицы» и выбрать соответствующий пункт меню. Но лучше сразу привыкать работать через SQL. В нем таблица создаётся скриптом Create Table… В интернете полно примеров.

Известить модератора

 Отправить личное сообщение этому участнику

 

 

Re: Создание таблицы в Microsoft SQL Server Management Studio [сообщение #1076 является ответом на сообщение #1061] Wed, 30 November 2022 12:17 Переход к предыдущему сообщениюПереход к следующему сообщению
komrad в настоящее время не в онлайне 
komrad

Сообщений: 14
Зарегистрирован: July 2022

Junior Member

BlackEric писал(а) Sat, 26 November 2022 20:24

В MS SQL системные таблицы скрыты. И доступны для просмотра только при подключении через DAC.

а можно про это подробнее?
какие таблицы скрыты и зачем DAC?

Известить модератора

 Отправить личное сообщение этому участнику

 

 

Re: Создание таблицы в Microsoft SQL Server Management Studio [сообщение #1077 является ответом на сообщение #1076] Wed, 30 November 2022 13:43 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне 
BlackEric

Сообщений: 198
Зарегистрирован: June 2022

Senior Member

Диагностическое соединение для администраторов баз данных

Цитата:

Select * from sysobjects
Where xtype = ‘S’

— системные таблицы. Начиная с 2005 версии sql server не позволяет выполнять к ним запросы напрямую.

Известить модератора

 Отправить личное сообщение этому участнику

 

 

Re: Создание таблицы в Microsoft SQL Server Management Studio [сообщение #1517 является ответом на сообщение #1060] Tue, 31 January 2023 12:17 Переход к предыдущему сообщению
EArt в настоящее время не в онлайне 
EArt

Сообщений: 1
Зарегистрирован: January 2023

Junior Member

В 90% случаев у моих учеников эта ошибка возникает из-за несоответствия версий MS SQL Server и SQL Server Management Studio. Чаще было из-за нестыковки 2016го сервера с 2018й студией. Ставьте 2019ю студию. Ссылка тут: https://learn.microsoft.com/en-us/sql/ssms/download-sql-serv er-management-studio-ssms?view=sql-server-ver16

Отписался только из-за популярности сайта и выдаче его в первых позициях в Гугле на запрос: «данная серверная версия не поддерживает конструирование диаграмм баз данных и таблиц», а комментарии отправляют в системные таблицы, ещё куда-то … а дело только в самой студии, хотя прямы запросы выполняются

Известить модератора

 Отправить личное сообщение этому участнику

 

 

  Переключение в режим просмотра в виде древовидного списка сообщений и ответов Создать новую тему Отправить ответ
Предыдущая тема: Репликация SQL 2008 на SQL 2000
Следующая тема: вывод таблицы с пустыми полями

Переход к форуму:

  

-=] Вернуться вверх [=-

[ Сформировать XML ] [ RSS ] [ PDF ]

Текущее время: Wed Jun 14 05:58:00 MSK 2023

Общее время, затраченное на создание страницы: 0.02626 секунд

Понравилась статья? Поделить с друзьями:
  • Ошибка при создании страницы facebook
  • Ошибка при создании соединения bluetooth windows 7
  • Ошибка при создании службы nvkeynt код 1275
  • Ошибка при создании скрипта конфигурации установки spyhunter 5
  • Ошибка при создании сервера с модами