Собственный SQL-доступ
Я получаю сообщение об ошибке, когда пытаюсь подключиться к серверу sql с платформой управления сущностями и собственным SQL одновременно с ошибкой, отображаемой на стороне windev.
Erreur (blocage) de l'accès natif SQLSERVER. Numéro d'erreur = 117
На стороне.Net я не получил ошибку, это может быть проблема приоритета доступа или что-то в этом роде?
1 ответ
Похоже, что Windev устанавливает неоптимальные стратегии блокировки в SQL Server по умолчанию, если вы сами не укажете правильные параметры. (Мы столкнулись с теми же ошибками в компании, в которой я работаю).
Я предлагаю вам использовать эти два варианта. Вы делаете это при запуске приложения, когда настраиваете соединение с БД.
H.SQLServerMode = 0
чтобы использовать более производительный драйвер SQLnCli (его необходимо установить раньше, он предоставляется Microsoft).
HDescribeConnection(..., hNativeAccessSQLServer, "WD Command Timeout=0; WD Lock Timeout=0;"
WD Lock Timeout=0; здесь важная опция. Он сообщает Windev позволить SQL Server настраивать свою собственную политику блокировки, не пытаясь заставить SQL Server. Если вы профилируете соединение с SQL Server, вы заметите, что Windev теперь отправляетSET LOCK_TIMEOUT -1
в SQL Server.
Благодаря этому вы больше не должны видеть, что время ожидания запроса на блокировку 117 превышено.
Какой у вас код с обеих сторон? Зачем ты это делаешь? Если вы подключаетесь к одному и тому же порту на одном компьютере с двумя приложениями, это действительно может быть проблемой.