Skip to content

SQL Server OPENROWSET errors only when DELETE/UPDATE #260

@pgfiore

Description

@pgfiore

Sorry for invading this area with an issue that's probably not related to the driver code. Unfortunately, I've got stuck using your Firebird ODBC 3.0.1.18 (x64) on a Win Server 2019 running SQL Server 2022.
And trying to reduce variables, I've focused on the T-SQL OPENROWSET with only the (machine) DSN including all parametrs.
My test statement is something like: select * from openrowset('MSDASQL', 'DSN=TESTDB', 'select * from myTABLE')
OK - SELECT and INSERT do work like a charm!
KO - UPDATE and DELETE always fire the error message 7345.

As you know, there are many different layers to go through. Even the MSDASQL provider is adding a further ODBC/OleDB conversion.
A few more clues:
DNS user = SYSDBA - other parameters = default
MyTable does have a primary key
MSDASQL provider = nested queries, dynamic parms and allow inprocess all ON
(BTW, I've tried linked servers and/or OPENQUERY too, with exactly the same error.)

Error messages:
OLE DB provider "MSDASQL" for linked server "(null)" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.". Msg 7345, Level 16, State 1, Line 9
The OLE DB provider "MSDASQL" for linked server "(null)" could not delete from table "select * FROM myTable". User did not have sufficient permission to delete the row. (my comment: I use SYSDBA!)

Did you ever work out the reason(s) or can you point me in the right direction to investigate? I'd appreciate it a lot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions