|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Линкованная (через ODBC) таблица SQL-сервера. Процедура очищает временную таблицу в базе и запросом на добавление заполняет её данными из линкованной таблицы: Код: vbnet 1. 2.
Очень редко, но выскакивает указанная ошибка, времянка очищается, но новых записей в ней не оказывается. Что может быть причиной (человеческий фактор можно исключить - процедура запускается в 4 утра)? Можно ли как-то получит более подробное описание ошибки? И (самое главное) - как бороться? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 16:49 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 16:52 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Смысл статьи приблизительно понял, но - очень приблизительно. 1 В папке Windows файла Odbc.dll у меня нет, есть только ODBC.INI 2 В папке WINDOWS\system вообще нет ничего похожего 3.В папке WINDOWS\system32 есть файл Odbc32.dll Фразу: "Если первый файл Odbc.dll возможные пути является ODBC Driver Manager 1.x, то, скорее всего возникают проблемы." вообще не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 17:39 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Этот же номер ошибки бывает, например, при нарушении условия на значение поля (констрэинт) в бд МС СКЛ. Так что общих рекомендаций нет - ищите конкретные ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 18:13 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
хм... хороший совет. Если учесть, что из SQL-таблицы я просто читаю, то никаких "условий на значение" тут и рядом не стояло. Где ж их найти, ошибки эти? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 18:34 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
add_In_tmp_SQL_Table текст? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 19:06 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
запроса текст? вот: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 19:14 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
а ddl временной таблицы? есть вероятность наличия данных c null ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 20:39 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
1234_5678Фразу: "Если первый файл Odbc.dll возможные пути является ODBC Driver Manager 1.x, то, скорее всего возникают проблемы." вообще не понял. Так и знал, что нильзя давать в автоматическом переводе )) http://support.microsoft.com/kb/160762/ en ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 23:16 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
вадяddl временной таблицыстесняюсь спросить: а это что? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2014, 23:55 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
вадяесть вероятность наличия данных c nullвот это вряд-ли: на сиквеле - база 1с, в перечисленных полях запроса не может быть Null-ей. Сумма, дата, фирма... Хотя...если допустить, что кто-то "на той стороне" завёл, допустим, сумму, а дату не указал...ну...пусть так и что? На "моей стороне" в таблице нет ограничений "обязательное значение" и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 01:24 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
1234_5678вадяесть вероятность наличия данных c nullвот это вряд-ли: на сиквеле - база 1с, в перечисленных полях запроса не может быть Null-ей. Сумма, дата, фирма... Хотя...если допустить, что кто-то "на той стороне" завёл, допустим, сумму, а дату не указал...ну...пусть так и что? На "моей стороне" в таблице нет ограничений "обязательное значение" и т.п. null это как вариант, возможно, что есть несовпадения типа данных или ещё какие а так как это происходит редко - то есть вероятность, что кто-то что-то не правильно вводит/правит ddl ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 06:12 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
авторМожно ли как-то получит более подробное описание ошибки? Можно через АДО. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62.
Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 12:32 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5.
пользователю <Мой логин> не удалось войти в систему ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 18:01 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Подключился, теперь новая проблема: Код: vbnet 1. 2. 3.
получаю значение -1 а записи в таблице есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 18:33 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
уже нашёл: rs.Open s, con, adOpenKeyset ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 19:04 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Тогда, с учётом всего сказанного получается так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
всё правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 20:16 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Примечание к коду: Может можно и сразу добавить все записи в таблицу, но добавление их по одной - надежда, что в сообщении об ошибке, кроме "развёрнутого" текста, удастся получить и номер конкретной записи, на которой эта ошибка возникла... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2014, 22:02 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
авторвсё правильно? И близко не росло, как говаривала наша ботаничка. Вот проверка Вашего примера, (могли-бы и сами проверить). Единственно, что можно - понять на какой ИДОРДЕР возникает ошибка - и то, если добавить выделенное красным. Попробуйте сами понять, почему нет описания ошибки. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 13:06 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Ну, началась угадайка... в моём понимании "ODBC - ошибка вызова" возникает, когда что-то с таблицей на сиквеле "не так" и до кода с "выделенным красным" дело вообще не дойдёт, всё произойдёт на строке с попыткой открыть соединение проверить сейчас не могу: сиквел-сервер - на работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 13:44 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
автор времянка очищается, но новых записей в ней не оказывается. авторвсё произойдёт на строке с попыткой открыть соединение Где логика? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 13:53 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Угадать<>Понятьавтор времянка очищается, но новых записей в ней не оказывается. авторвсё произойдёт на строке с попыткой открыть соединение Где логика?сами то поняли, что спросили?! Времянка у меня очищается до обращения к линкованной таблице SQL-сервера, а пустой она остаётся, потому что это самое обращение заканчивается ошибкой и заполнение времянки не происходит. Это - к первой цитате вашего сообщения. Вторую цитату Вы выдрали из последнего поста, когда мы уже обсуждаем отказ от линкованной таблицы и подключение через АДО. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 18:32 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
1234_5678 какие проблемы? найти "неправильную" запись? дак можно проще при вылете сравнить две таблицы и всё найти ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 20:29 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
вадя1234_5678 какие проблемы? найти "неправильную" запись? дак можно проще при вылете сравнить две таблицы и всё найтихм...вообще то проблема при подключении к SQL-серверу... где искать эту "неправильную" запись? и есть ли она вообще? какие 2 таблицы сравнивать, времянку в базе и таблицу на сиквеле? а зачем? и как их можно сравнить, если ко второй нет соединения? и кто установил, что вся проблема в "неправильной" записи? не гуруЭтот же номер ошибки бывает, например, при нарушении условия на значение поля (констрэинт) в бд МС СКЛ вот причём тут это - какое нарушение на значение может возникнуть при чтении таблицы? вадяnull это как вариант, возможно, что есть несовпадения типа данных или ещё какие опять непонятка - несовпадение чего с чем? я читаю с сиквела текст и пытаюсь его добавить в числовое поле времянки?! а откуда взялся текст в числовом поле сиквельной таблицы и как удалось это значение там сохранить? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 20:57 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
ты всё таки определись ошибка подключения или ? судя по первому посту - ошибка с данными. может быть и первая же запись бракованная, я б вручную проверил. если грешить на подключение - то странно, что редко. возможно что-то связанно с доступностью таблицы исходника... либо с сетью, если на разных машинах. как нет соединения если ты заполняешь? еслиб не было соединения - тыб всегда не смог занести данные ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 22:01 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
сложно определиться - какая причина. да и тут несколько разных причин назвали... я и создал пост, чтобы подсказали: как получить более вразумительное сообщение процедура запускалась в 4 утра, 5 и 6 - ошибка таже, завтра поставил шедуллер на 7 утра... (а вот в рабочее время этого безобразия нет, почему то) авторкак нет соединения если ты заполняешь?вадя!!! что я заполняю?! как раз и не заполняется ничего - на строке запуска запроса на добавление из прилинкованной таблицы сиквела во временную таблицу в базе Акса. на сеть не грешим, остальные же отчёты создаются, где не участвует эта.....1С. мне посоветовали тут вместо связанной таблицы использовать АДО, типа, тогда и сообщение будет более вразумительным... но теперь оказывается, что моя процедура всё-равно вернёт только сообщение "ODBC - ошибка вызова". Почему - не объяснили... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2014, 23:33 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
1234_5678, почитал топик, подумал, я б на вашем месте начал с проверки наличия соединения с сервером в момент начала выполнения запланированного задания http://www.sql.ru/forum/933468/proverka-soedineniya-ado ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2014, 00:10 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
1234_5678, может банально оказаться, что в нерабочее время работает и сервер и ваша станция, с которой запускается запланированная задача, а какой-нибудь промежуточный хаб (или свитч, коммуникатор) находится в комнате чересчур "ответственных" сотрудников, которые, уходя с работы, вырубают всё электричество у себя в комнате (типа - как бы чего не вышло) , а утром , приходя на работу, врубают всё снова, тогда связь с сервером можно проверить простым ping-ом ip-адреса сервера, можно это сделать bat- файлом через запланированное задание с перенаправлением вывода результата в файл, который потом проанализировать, чтобы убедиться потом , что связь есть (ну, или её нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2014, 00:40 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
авторОчень редко, но выскакивает указанная ошибка, времянка очищается, но новых записей в ней не оказывается. процедура запускалась в 4 утра, 5 и 6 - ошибка таже, завтра поставил шедуллер на 7 утра... (а вот в рабочее время этого безобразия нет, почему то) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2014, 09:31 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
противоричивые данные, как по ним можно дать рекомендации поэтому присоединяюсь к мнению guest_rusimport автори на сеть не грешим, ни есть правильное утверждение. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2014, 09:34 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
1234_5678Угадать<>Понятьпропущено... пропущено... Где логика?сами то поняли, что спросили?! Времянка у меня очищается до обращения к линкованной таблице SQL-сервера, а пустой она остаётся, потому что это самое обращение заканчивается ошибкой и заполнение времянки не происходит. Это - к первой цитате вашего сообщения. Вторую цитату Вы выдрали из последнего поста, когда мы уже обсуждаем отказ от линкованной таблицы и подключение через АДО. 1. Ну, я думал, что у Вас времянка тоже на сервере (предупреждать надо) 2. Вообще - то если сервер остановлен или нет связи то возникает друга ошибка: № 3151 - ODBC - ошибка подключения ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2014, 11:58 |
|
Ошибка 3146,"ODBC - ошибка вызова"
|
|||
---|---|---|---|
#18+
Посмотрите DAO.Errors, там м.б. ещё ошибка из которой ясно что к чему, а в VBA.Err остаётся только "Ошибка вызова". http://support.microsoft.com/kb/209855 Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 13:03 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1617243]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 244ms |
total: | 512ms |
0 / 0 |