Мне нужно развернуть свое приложение VB.NET, разработанное в VB.NET и Visual Studio 2005. Заказчик использует SQL Server 2008, а приложение строится на основе SQL Server 2000.
Я получил следующую ошибку в SQL Server 2008:
Явное значение для столбца идентификаторов в таблице «Outgoing_Invoice» можно указывать только в том случае, если используется список столбцов и «Идентификационная вставка» включена
Вот мой запрос на вставку данных в две таблицы:
Dim cmd1 As New SqlCommand("Insert into Stock values(@invoice_no, @gate_pass, @exp_no, @clm_no, @category, @item_name, @weight, @units_case, 0, 0, @crtns_removed, @pieces_removed, 0, 0, @date_added, @date_removed, @inc_total_price, @out_total_price, @discount, @amount, 'Sold', @expiry_date) Insert into Outgoing_Invoice values(@invoice_no, @exp_no, @party_name, @party_code, @city, @contact, @category, @item_name, @weight, @units_case, @crtns_issued, @pieces_issued, @crtns_removed, @pieces_removed, 0, 0, @scheme, @unit_price, @out_total_price, @discount, @amount, @date_removed, @expiry_date, @order_booker, @salesman)", con)
Сообщение об ошибке отображается на cmd1.executenonquery
. Обе эти таблицы Stock
и Outgoing_Invoice
имеют столбец идентификаторов, помеченный как serial перед @ invoice.
Проблема возникла только при попытке вставки в SQL Server 2008. При запуске в SQL Server 2000 он работает как положено.
В чем может быть причина этой проблемы и как ее можно решить?