-
Notifications
You must be signed in to change notification settings - Fork 17
Description
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.