Hoping someone can shed some light on a few little quirks with DisableBind=0 on SQL Native Client connection (Originally OLEDB). Would love an explanation in lay-mans terms!
I am working on a system which is multilingual and allows Arabic text be entered and saved into SQL Server 2014 DB. The fields used to store Arabic values are all nvarchar and we have had to set DisableBind=0 on the DBParm connection string to allow users to input and save the Arabic text correctly into the DB. We are using Latin collation on the DB and needs to remain so for the main system.
We are now experiencing a few problem areas in the system where there was no issue prior to the DBParm change.
In some screens we are able to insert rows into DWs, set column values in script, allow user input and save without issue. One particular screen is saving to a DB Table which uses an autoincrementing Identity and contains columns which do not allow NULL values and works fine.
We then have another window where a similar situation occurs, but there is no user data input - it is all done through DW row insert, setitem and update. In this instance the underlying DB Table also has Identity column and a non-nullable column, but the system just crashes out without any error message. I can get this window to work by removing all the setitem statements and inserting directly into the table using a SQL INSERT statement, but this is a time consuming change and will be required in a lot of other areas. The problem seems to hinge on the non nullable column in this instance!! Once any value is set for it on the DW and and update performed the system crashes. Excluding this column allows the script to run and complete, but naturally the DB table is empty because the non-nullable column is not set.
I have read about using different DB connection objects, but in this case it will not work as the screen that is failing needs to insert Arabic values.
We are using:
SNC connection to SQL Server 2014.
Thanks in advance.