powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка в Dapper: Npgsql.PostgresException (0x80004005): 42703: столбец не существует
5 сообщений из 5, страница 1 из 1
Ошибка в Dapper: Npgsql.PostgresException (0x80004005): 42703: столбец не существует
    #40138368
rigor_mortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет,
что-то глюки. В даппере передаю запрос:
Код: C#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
string sql = @"do $$
declare
    p_id bigint;
begin
    INSERT INTO vtb.""Table1""
    (""ColumnOne"", ...)
    VALUES(@val1, ...)
    returning ""Id"" into p_id;

    insert into ppr.""Table2""
    (""Col1"", ""Col2"")
     values (p_id, @val2);
  end $$;";";
Мне возвращается ошибка: "Npgsql.PostgresException (0x80004005): 42703: столбец "columnone" не существует." В таблице столбец наименован с заглавными буквами ColumnOne, а при выполнении ищется с маленькими сolumnone, как указано в тексте ошибки. Из за чего может быть такое?
Опечатки здесь нет, брал этот запрос в DBeaver, выполняется без ошибок.

P.S. Можно как-то использовать declare begin end без $$?
...
Рейтинг: 0 / 0
Ошибка в Dapper: Npgsql.PostgresException (0x80004005): 42703: столбец не существует
    #40138370
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor_mortis [игнорируется] 

Лучше всего, привести все наименования в БД к нижнему регистру.
Иначе надо заботиться о дополнительном экранировании наименований.
И у каждой IDE может быть свой синтаксис для этого.
...
Рейтинг: 0 / 0
Ошибка в Dapper: Npgsql.PostgresException (0x80004005): 42703: столбец не существует
    #40138372
rigor_mortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya  12.01.2024, 14:14
[игнорируется]
Лучше всего, привести все наименования в БД к нижнему регистру.
Не получится, БД не наша, ничего менять не можем .
...
Рейтинг: 0 / 0
Ошибка в Dapper: Npgsql.PostgresException (0x80004005): 42703: столбец не существует
    #40138374
CerebroSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor_mortis [игнорируется] 
Проблема в потере символа "
Пробовали добавить экранирование символа " ?
Что-то типа
Код: C#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
string sql = @"do $$
declare
    p_id bigint;
begin
    INSERT INTO vtb.\""Table1"\"
    (\""ColumnOne"\", ...)
    VALUES(@val1, ...)
    returning ""Id"" into p_id;

    insert into ppr.""Table2""
    (\""Col1"\", \""Col2"\")
     values (p_id, @val2);
  end $$;";";
зы: не уверен что в C# экранирование задается именно так
...
Рейтинг: 0 / 0
Ошибка в Dapper: Npgsql.PostgresException (0x80004005): 42703: столбец не существует
    #40138396
rigor_mortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CerebroSQL [игнорируется] 

Экранировать можно и двойными кавычками, что у меня и сделано.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка в Dapper: Npgsql.PostgresException (0x80004005): 42703: столбец не существует
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (7): Анонимы (4), Bing Bot 1 мин., Yandex Bot 3 мин., Google Bot 5 мин.
x
x
Закрыть


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