|
|
|
ADO, Jet 4, SQLState 3218 или 3197, это нормальные числа?
|
|||
|---|---|---|---|
|
#18+
Короче ADO (2.8), Jet 4.0 и база на аксесе с параллельным доступом процессов к ней. При таймауте доступа к записи заблокированной другим процессом подключение выдает ошибку с SQLState 3218. Это при писсимистическом типе бллкировки. При оптимистическом же типе блокировки конфликтный параллельный доступ выдает SQLState 3197. Штука в том что я не разбираюсь в ODBC, но глядя во всякие документации я не нахожу таких номеров SQLSTATE (причем 4-х значные). Вопрос следующий, на сколько можно доверять этим номерам что они нкстоящие (действиьельно имеют отношение к SQLSTATE) и, самое главное, останутся ли эти номера такими же при смене провайдера? Я, например, собираюсь переводить программу на серверную БД, и боюсь что бы еще и не пришлось номера ошибок параллельного доступа менять. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 22:09 |
|
||
|
ADO, Jet 4, SQLState 3218 или 3197, это нормальные числа?
|
|||
|---|---|---|---|
|
#18+
nrmBeginnerЯ, например, собираюсь переводить программу на серверную БД, и боюсь что бы еще и не пришлось номера ошибок параллельного доступа менять. Спасибо. этого не надо бояться - это произойдёт коды сильно смахивают на коды ошибок jet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 23:31 |
|
||
|
ADO, Jet 4, SQLState 3218 или 3197, это нормальные числа?
|
|||
|---|---|---|---|
|
#18+
nrmBeginnerШтука в том что я не разбираюсь в ODBC, но глядя во всякие документации я не нахожу таких номеров SQLSTATE (причем 4-х значные).И не найдешь. Потому что это не ODBC ошибки. Все ODBC ошибки кодируются в виде пятизначного шестнадцатеричного числа. Две самых старших разряда это тяжесть ошибки (предупреждение, ошибка, катастрофа и тп) А три младших уже собственно номер ошибки. nrmBeginnerВопрос следующий, на сколько можно доверять этим номерам что они нкстоящие (действиьельно имеют отношение к SQLSTATE) и, самое главное, останутся ли эти номера такими же при смене провайдера?Нет не останутся. Твои цифры это как раз собственные кода провайдера. nrmBeginnerЯ, например, собираюсь переводить программу на серверную БД, и боюсь что бы еще и не пришлось номера ошибок параллельного доступа менять.Правильно боишься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 23:34 |
|
||
|
ADO, Jet 4, SQLState 3218 или 3197, это нормальные числа?
|
|||
|---|---|---|---|
|
#18+
В чем же тогда смысл этих ADODB.Error.SQLState, в чем отличие их использования от использования родных кодов ADO и провайдера? Или это просто Jet меня обманул? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 23:45 |
|
||
|
ADO, Jet 4, SQLState 3218 или 3197, это нормальные числа?
|
|||
|---|---|---|---|
|
#18+
nrmBeginner, чем быстрее забудете jet - тем лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 23:50 |
|
||
|
ADO, Jet 4, SQLState 3218 или 3197, это нормальные числа?
|
|||
|---|---|---|---|
|
#18+
nrmBeginnerВ чем же тогда смысл этих ADODB.Error.SQLState, в чем отличие их использования от использования родных кодов ADO и провайдера? Или это просто Jet меня обманул?В теории, ADODB.Error.SQLState это универсальные кода независящие от провайдера. В теории.... А на практике, читаем внимательно документацию: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681570(v=vs.85).aspx Use the SQLState property to read the five-character error code that the provider returns when an error occurs during the processing of an SQL statement. For example, when using the Microsoft OLE DB Provider for ODBC with a Microsoft SQL Server database, SQL state error codes originate from ODBC, based either on errors specific to ODBC or on errors that originate from Microsoft SQL Server, and are then mapped to ODBC errors. These error codes are documented in the ANSI SQL standard, but may be implemented differently by different data sources.То есть это напрямую кода провайдера. Если провайдер захочет - он смаппирует их в более-менее стандартные. А не захочет то и опаньки. Вот если бы ты действительно использовал ODBC драйвера, то было бы замечательно, потому как там это действительно стандартизировано. И вот тогда уже можно было бы говорить о разнице между ADODB.Error.SQLState и ADODB.Error.NativeError - первое содержало бы стандартные ODBC кода, а второе собственные кода провайдера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 00:08 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39002909&tid=1340980]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 310ms |

| 0 / 0 |
