Quantcast
Channel: ฟอรัม Getting started with SQL Server
Viewing all articles
Browse latest Browse all 8428

Unable to delete rows from remote db table

$
0
0

Hi

I am relatively new to SQL Server and this issue is strange to me.

In my vb.net code I am opening a connection to local MS Access DB using oledb provider and then am executing below query to remote SQL Server via DBCommand.ExecuteNonQuery();

DELETE tblStaff.* FROM Staff INNER JOIN [ODBC;Driver=SQL Server;SERVER=<remote ip>;DATABASE=dddddddd;UID=uuuuuuuu;PWD=ppppppppp].tblStaff ON Staff.[Staff ID] = tblStaff.[StaffID] WHERE Staff.[Contact Status] <> "Current"


This however created below error in the code;

System.AccessViolationException was unhandled
  Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  Source=System.Data
  StackTrace:
       at System.Data.Common.UnsafeNativeMethods.ICommandText.Execute(IntPtr pUnkOuter, Guid& riid, tagDBPARAMS pDBParams, IntPtr& pcRowsAffected, Object& ppRowset)
       at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
       at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
       at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
       at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
       at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()

During testing I noticed that if I create the relevant table tblStaff in another database on the same remote SQL Server then it works fine, so it appeared to me there is some issue with the original backend db or the table.

The relevant table tblStaff is related to several tables in the database. I assumed that relations may be an issue so I set the relations to cascade delete even though none of the tables contains any data at this point. This did not work. I then went into database diagram, added all the tables and then deleted all relations of the tblStaff table. This did not work either. I then used 'Script Table as..->CREATE to' to script the tblStaff in Management Studio, deleted original tblStaff and ran the create script above to recreate the tblStaff table. This worked.

What is the problem here and why doesn't the table accept delete query in its original form? I appreciate it’s the .net code that creates the error but as the error seems to be related to the backend SQL Server db therefore I have posted it here in case someone can help with this.

Thanks

Regards


Viewing all articles
Browse latest Browse all 8428

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>