powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
11 сообщений из 11, страница 1 из 1
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367584
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.NET FW 4.5, VS 2012, SQL Compact.

Создаю в Студии проект WPF (не знаю, важно это или нет), добавляю к нему БД на SQL Compact. Через Server Explorer создаю в этой БД таблицу с именем "Disk". Схема таблицы любая, но хотя бы один столбец. Теперь пробую вызвать окно Sho Table Data - пишет какую-то ошибку, что-то типа не могу распознать SQL-запрос - и показывает пустое окно, где должны быть данные из таблицы. Голым запросом через Студию тоже нельзя ни записать данные в эту таблицу, ни прочитать Select'ом. При любой конфигурации запроса.

Почему так?

А у вас как?
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367653
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже "select * from [Disk]"?
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367681
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучДаже "select * from [Disk]"?
Когда квадратные скобки ставишь, то редактор запросов их просто убирает и всё равно выдаёт всё ту же ошибку. Ошибка, кстати, дословно такая:

SQL Execution Error.

ExecutedSQL statement:SELECT Id FROM Disk
Error Source: SQLServer Compact ADO.NET Data Provider
Error Message: Ошибка при разборе запроса. [ Token line number = 1,Token line offset = 16,Token in error = Disk ]

Хотя на Disks и любые другие слова хоть в единственном, хоть во множественном числе не ругается. При этом после SELECT может стоять что угодно, что совпадает со схемой таблицы, а вот если после FROM стоит Disk, то вот такая ошибка.

Может, это какое-то ключевое слово зарезервированное в SQL Compact?
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367683
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При этом редактировать схему таблицы можно, как и отношения.
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367705
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SET QUOTED_IDENTIFIER ON



Код: sql
1.
select * from "Disk"
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367773
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что это даст? Тем более, что такая инструкция через Студию невыполнима. Попробуйте у себя так сделать, как я описал - просто таблицу и любой столбец один в ней. Если у вас так же будет, значит, проблема в SQL Compact.
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367779
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msdnThe SQL Server Native Client ODBC driver and SQL Server Native Client OLE DB Provider for SQL Server automatically set QUOTED_IDENTIFIER to ON when connecting. This can be configured in ODBC data sources, in ODBC connection attributes, or OLE DB connection properties. The default for SET QUOTED_IDENTIFIER is OFF for connections from DB-Library applications.
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367788
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OnemsdnThe SQL Server Native Client ODBC driver and SQL Server Native Client OLE DB Provider for SQL Server automatically set QUOTED_IDENTIFIER to ON when connecting. This can be configured in ODBC data sources, in ODBC connection attributes, or OLE DB connection properties. The default for SET QUOTED_IDENTIFIER is OFF for connections from DB-Library applications.
Я не понимаю, что это должно дать? Почему Disks и вообще любое другое имя таблицы срабатывает нормально, а для Disk нужно SET QUOTED_IDENTIFIER ON? SQL Compact без кавычек не может понять, что Disk это таблица, и путает его с каким-то своим ключевым словом?
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367791
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте через это http://sqlcetoolbox.codeplex.com/releases
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367798
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Konst_Oneпропущено...

Я не понимаю, что это должно дать? Почему Disks и вообще любое другое имя таблицы срабатывает нормально, а для Disk нужно SET QUOTED_IDENTIFIER ON? SQL Compact без кавычек не может понять, что Disk это таблица, и путает его с каким-то своим ключевым словом?


- потому что зарезервированое слово, а решение как раз через кавычки "моё резервированное слово"

- чтобы включить кавычки, надо выполнить скрипт в соединении с базой
Код: sql
1.
SET QUOTED_IDENTIFIER ON
...
Рейтинг: 0 / 0
Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
    #38367802
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

теперь понятно. Спасибо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Забавная штука с SQL Compact - нельзя нормально работать с таблицей с именем "Disk"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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