powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Беда с созданием таблицы
17 сообщений из 17, страница 1 из 1
Беда с созданием таблицы
    #32551388
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто-нибудь сталкивался?
Не проходит почему-то запрос на создание таблицы.
БД - Аксесс
Запрос типа Select,Into,From - "SELECT [ansp_an_curr(связанная)].key_an, [ansp_an_curr(связанная)].id_curr, [ansp_an_curr(связанная)].rate INTO ansp_an_curr FROM [ansp_an_curr(связанная)];"
Драйвер - Jet OLEDB
При этом идут любые другие запросы: Выборка, добавление, изменение, удаление Delete. И даже идёт удаление таблицы DROP TABLE.
Примечание: перед созданием таблицы таблицы с таким именем нет, поэтому этот запрос выполняется успешно в самом Аксессе. Да и в VB6 он тоже проходит. Правда в VB6 я использую другой драйвер (DSN)

...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32551437
Omar_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня таже проблема Select into никак не проходит
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32551447
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи код
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32551806
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Rivkin Dmitry
Показываю, хотя это ни о чём тебе не скажет. Наверно в очередной раз глючит Джетовский драйвер (апгрейды я делал).
Строка подключения:
zapConnectString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=""0101"";Data Source=" & Chr(34) & dataPath & Chr(34) & ";Mode=Share Deny None;Jet OLEDB:Engine Type=5;Provider=" & Chr(34) & "Microsoft.Jet.OLEDB.4.0" & Chr(34) & ";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1"
Строка взятия запроса:
zapCommand.ExecuteNonQuery()
Я проверял и два других .Execute
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32551875
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в каком акцесе?
В а97 Pass-Trough Query работает без проблем,
В ADODb - сам бог велел!
поэтоиу, я имел в виду код на Execute
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552028
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin DmitryА в каком акцесе?
В а97 Pass-Trough Query работает без проблем,
В ADODb - сам бог велел!
поэтоиу, я имел в виду код на Execute
Аксесс XP (2002).
Что такое "код на Execute"?
Там выполняется код SQL. Сам код SQL я привёл - выше смотри - Select...
Кстати глянь на строку подключения может я там какие-то параметры не так задал?
Может Database Locking Mode=1 неправильно или Mode=Share Deny None неправильно?
Вообще я грешил на курсор, но курсора в ADO.NET нет.
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552069
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожет Database Locking Mode=1 неправильно или Mode=Share Deny None неправильно?
Вроде не должно мешать раз другие запросы исполняются (под тем же connection?)
Я хотел взглянуть как ты зпускаешь Execute на connection

А что вообще происходит? Получаешь сообщение об ошибке? Или он проскакивает без реакции?
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552203
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй запустить как
Exec ('SELECT [ansp_an_curr(связанная)].key_an, [ansp_an_curr(связанная)].id_curr, [ansp_an_curr(связанная)].rate INTO ansp_an_curr FROM [ansp_an_curr(связанная)]')
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552228
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin Dmitry
А что вообще происходит? Получаешь сообщение об ошибке? Или он проскакивает без реакции?
Вроде разобрался. Запрос проходит в принципе. Загвоздка с тем, что связанная таблица [ansp_an_curr(связанная)] связана через ODBC на Фокс Про. База Фокс Про как известно штука фиговая. Эта её фиговость проявляется в том, что запросы с её участием через ODBC проходят только в том случае, если они просты и быстры типа простого Select на выборку или типа добавить одну запись. Чуть стоит усложнить запрос и он тут же вылетает по таймауту. Как увеличить таймаут я не знаю. Придётся на vb6 писать. Там всё проходит, правда не через Jet, а через DSN.
Ох уж этот Фокс Про, кто только тебя придумал!
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552296
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CommandTimeout = 0 не пробовал? Он устанавливает Timeout в бесконечное ожидание. Вопрос только когда он из него выйдет...
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552303
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Rivkin Dmitry]
Я хотел взглянуть как ты зпускаешь Execute на connection

[quot]
А чего тут глядеть? Вот, гляди:
zapCommand.Connection = zapConnection
zapCommand.CommandText = zapSsql
zapCommand.ExecuteNonQuery()
Понимаешь, я проверил на несвязанных таблицах - там всё идет. Поэтому это из-за Фокса, будь он не ладен. Как увеличить таймаут не знаю.
Пожалуйста, глянь следующую тему. Там я спрашиваю с помощью какой строки ещё можно подключиться к Аксессу. Если сделать другую строку подключения, то можно запустить-таки подобные запросы.
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552364
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin DmitryCommandTimeout = 0 не пробовал? Он устанавливает Timeout в бесконечное ожидание. Вопрос только когда он из него выйдет...
пробовал добавить такую строку:
zapCommand.CommandTimeout = 0
Не помогает, выдаёт:
ODBC - ошибка вызова.
Или ты имел ввиду добавить CommandTimeout в строку подключения?
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552664
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, тут у меня нет опыта. Попробуй повторить топик опять на форуме Акцеса, есть там зубры, прошедшие не тоьлько огонь, воду и медные трубы Фокса...
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32552774
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть отдельный форум по Фоксу, можно и там узнать.
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32553059
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключил форум по Аксессу и форум по Фоксу.
Чтож, подождём. Мне кажется всё-таки надо что-то подделать в коннекшнстринге. Как-то таймаут там прописать в явном виде или что-то такое. У меня в VB6 запрос проходит со строкой подключения:
exeConnectString = "DSN=MS Access Database;DBQ=" & dataPath & ";DefaultDir=" & dataPathDir & ";DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;PWD=" & dataPassword & ";UID=" & dataUser & ";"
А в .NET такая строка подключения не идёт, я уже и библиотеку ADO добавил... Можете соседний топик посмотреть, где я просил сообщить строку подключения альтернативную "Jet OLEDB:..."
Проще всего конечно плюнуть на .NET и написать на vb6, но жаль как-то .NET бросать.
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32553289
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема может быть и при правильном синтаксесе с драйвером VFP 8.0 OLE DB.

И так по порядку.

1.0 Скачайте последнюю версию OLE DB Provider for VFP 8.0 с сайта большого Брата (идущий в комплекте с VFP 8.0 - некорректно работает).

2.0 Мне непонятна логика Вашего запроса - Вы создаете какой-то временный курсор - зачем? Проверьте - есть ли у Вашего Web Server право на создание новых объектов.

3.0 Лично я делаю такие вещи в хранимых процедурах базы данных VFP (работает вполне сносно, но если у Вас свободные таблицы, то вариант отпадает).\

4.0 А что в ansp_an_curr - нет ли там значаний NULL? Если есть, то надо до начала операции разрешить принимать его, например так:

Код: plaintext
1.
2.
3.
      dim cmd as OleDBCommand
       cmd =conSessionID.createcommand()
       cmd.commandtext="set null off"
       cmd.ExecuteNonQuery()

5.0 Зря Вы ругаетесь на VFP - я уже сделала не один коммерческий WEB SITE - и ничего, работает вполне сносно в сочетании ASP.NET

Good Luck!
...
Рейтинг: 0 / 0
Беда с созданием таблицы
    #32553868
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я даром время не терял, а проводил своё расследование.
Выяснилось вот что: все запросы с участием связанных через ODBC с базой Fox Pro таблиц идут у меня только в Windows. В Web тот же код не идёт. Может с правами какие-то проблемы.
Поэтому я с Вашего разрешения закрываю эту тему и выдаю её в новом вопросе. Вопрос будет не в форуме ADO.NET, а в форуме ASP.NET,
если хотите - переходите туда.
С уважением,
Макс Про
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Беда с созданием таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]