Меню

Ошибка при подключении к ado 209

Я
   Nikita

05.03.04 — 10:18

Подключаюсь к базе DBF и выполняю простые команды:

ADO = ÑîçäàòüÎáúåêò(«ADODB.Recordset»);

   ADO.Open(«SELECT * FROM buffer.dbf»,»Driver={Microsoft Visual FoxPro Driver}; SourceType=DBF; SourceDB=D:maykov»,2,2,1);

ADO.AddNew();

ADO.Fields(«NumDoc»).Value = «154468»;

ADO.Update();

После чего выскакивает ошибка!!!

Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Visual FoxPro Driver]Field DATEDOC does not accept null values.

Самое обидное, что запись в таблицу корректно добавляется, но программа остановлена.

Если в таблице разрешить .Null. значение для всех полей, все проходит ок, но менять базу не хочется!

Заполнять все поля… можно… но вдруг, кто добавт еще поле в базу!!!

  

Nikita

1 — 05.03.04 — 10:47

Решил проблему… но по циклу только… некрасиво 🙂

Процедура ЗаполнитьПустыми(Base)

    Для К=0 По (Base.Fields.Count()-1) Цикл

       Если (Base.Fields(К).Type = 133) Тогда

            Base.Fields(К).Value = »;

       ИначеЕсли (Base.Fields(К).Type = 129) Тогда

            Base.Fields(К).Value = «»;  

       ИначеЕсли (Base.Fields(К).Type = 131) Тогда

            Base.Fields(К).Value = 0;  

       ИначеЕсли (Base.Fields(К).Type = 11) Тогда

            Base.Fields(К).Value = -1;

       КонецЕсли;

   КонецЦикла;

КонецПроцедуры // ЗаполнитьПустыми()

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Ошибка 209 при подключении к серверу, исчерпано максимальное количество подключений

Здравствуйте.

Некоторые пользователи не могут соединится с сервером, на веб морду тоже не пускает, ошибка 209.
Версия 5.24
Подскажите куда смотреть?

Добрый день.

Ошибка 209 — «исчерпано максимальное количество соединений к серверу».

Live Chat со мной

Да, так пишет сервер. А что мне делать? перезагрузить сервер?
Может есть возможность увеличить количество соединений?

Да, можете перезапустить, но также желательно выяснить куда уходят все ваши подключения.

Live Chat со мной

Пользователи чата штатно отображаются в списке онлайн в админке, но пользователи Kanban, Forum и самой админки пока не попадают в этот список, поэтому желательно закрывать неиспользуемые вкладки с этими сервисами, чтобы они не отбирали подключение.

Live Chat со мной

Админка недоступна.
Перезагрузил сервер. Все подключились.
Тему можно закрыть, спасибо.

Сделали дополнение, чтобы даже если коннекты закончились, в админку можно было войти в любом случае, пусть даже ценой «расстрела» произвольного онлайн-пользователя :)

viewtopic.php?p=25918#p25918

Team lead
Чат со мной

Возможно ли увеличить возможное количество подключений? Сейчас начали активно пользоваться Канбан (очень удобно, спасибо) и стали возникать подобные проблемы.

Конечно, достаточно расширить вашу лицензию на нужное вам количество подключений.

Team lead
Чат со мной

0 / 0 / 5

Регистрация: 09.10.2015

Сообщений: 227

1

Исключение при подключении к серверу

15.09.2017, 13:36. Показов 1818. Ответов 2


Приветствую. Вопрос вот в чём при подключении к серверу если сервер отключен, в средствах диагностики возникает исключение притом не один раз как мне это исключение отловить и выдать ошибку что сервер отключён?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



102 / 24 / 12

Регистрация: 12.12.2013

Сообщений: 209

Записей в блоге: 1

15.09.2017, 13:51

2

Цитата
Сообщение от Graf1385
Посмотреть сообщение

Вопрос вот в чём при подключении к серверу если сервер отключен

Код подключения в студию



0



Graf1385

0 / 0 / 5

Регистрация: 09.10.2015

Сообщений: 227

15.09.2017, 14:05

 [ТС]

3

Лучший ответ Сообщение было отмечено Graf1385 как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
try
 {
        if (LocalsqlConnection.State == ConnectionState.Closed)
         {
              LocalsqlConnection.Open();
          } 
 }         
catch (Exception ex)
{
                
}



0



В форме прописываю процедуру для добавления подключения к баз данных access, но последняя не подключается.
Использую среду разработки Delphi XE7.

procedure TfMain.FormCreate(Sender: TObject);
begin
  GetDir(0, DIR);
try
  fDM.ADOConnection1.LoginPrompt := False;
  fDM.ADOConnection1.Connected := False;
    fDM.ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;' + 'Data Source=' + DIR +'/DB/DB.mdb;' + 'Persist Security Info=False;';
  fDM.ADOConnection1.Connected := True;
except
  MessageBox(Handle,'Произошла ошибка при подключении к базе данных!','Ошибка!',MB_ICONERROR + MB_OK);
  Application.Terminate;
  end;
end;

Не могу понять в чем ошибка… Помогите советом добрым 🙂
p.s.: в Data Module Create процедура срабатывает и база подключается. А почему через главную форму нет?


  • Вопрос задан

    более трёх лет назад

  • 165 просмотров

Data Module Create процедура срабатывает и база подключается. А почему через главную форму нет?

Если fDM ещё не создан, то нельзя его использовать.

Пригласить эксперта

Обычно, чтобы понять в чем ошибка, смотрят, как минимум, текст сообщения возникшего исключения, а то и его класс. А не делают «Ой!» и «Application.Terminate».
Как-то так, например:

except
  on E: Exception do
  begin
    MessageBox(Handle,
      'Произошла ошибка при подключении к базе данных!' + sLineBreak 
        + E.ClassName + ': ' + E.Message, 
      'Ошибка!',
      MB_ICONERROR + MB_OK);
    Application.Terminate;
  end;
end;

Ответ на ваш вопрос вам уже написали.


  • Показать ещё
    Загружается…

30 янв. 2023, в 13:52

120000 руб./за проект

30 янв. 2023, в 13:45

500 руб./за проект

30 янв. 2023, в 13:36

100000 руб./за проект

Минуточку внимания

Добрый день, уважаемые Знатоки!
Меня заинтересовала возможность подключения 1С к сторонней базе данных посредством ADO.
В частности у меня 1С 8.1 и база MS SQL server 2005.
С получением данных проблем не возникает, да и с редактированием и удалением тоже. Во всех этих случаях я составлял запрос в Connection.Execute.
Но я вычитал в книжке «!С: ПРЕДПРИЯТИЕ 7.7/8.0 системное программирование», что можно удалить текущую запись и оператором Delete.
Подскажите, пожалуйста, что я делаю не правильно. Я думаю, что причина в используемом провайдере.

Текст обработки:

Connection = Новый COMОбъект("ADODB.Connection");
Connection.ConnectionTimeOut =600;
Connection.CursorLocation = 3;
 Connection.Open("Provider=SQLOLEDB;Password=955938;Data Source=andrey;Persist Security Info=True;User ID=user_1c;Initial Catalog=sait");
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;
Command.CommandText ="select * from nomenclature";
Command.CommandType = 1;
RecordSet = Новый ComОбъект("ADODB.RecordSet");
RecordSet.CursorType = 3;
RecordSet.LockType = 2;
RecordSet = Command.Execute();
Пока RecordSet.EOF() = 0 Цикл
RecordSet.Delete(1);
 RecordSet.MoveNext();
КонецЦикла;

Выдается ошибка:

Ошибка при вызове метода контекста (Delete): Произошла исключительная ситуация (ADODB.Recordset): Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
RecordSet.Delete();

I keep getting an error when trying to open a database using an ADO connection in VBA — I am getting the following error:

Run-time error ‘-2147467259 (80004005)’:
Method ‘Open’ of object ‘_Recordset’ failed

I have checked an re-checked all of my file paths and syntax, and cannot find what is wrong with the code below — can anyone help?

Public Sub PlainTextQuery()

Dim rsData As ADODB.Recordset
Dim sConnect As String
Dim sSQL As String

Dim sCusip As String

sCusip = Trim(Range("cusip").Value)

' Create the connection string
sConnect = "Provider=Microsoft.ACE.OLEDB.12.0; " & _
    "Data Source=C:UsersinternDocumentsNewStuffResiOffers_v1.accdb;"

' Create the SQL statement
sSQL = "SELECT Date, Cusip, Bond, OF, CF, Dealer, Price, Matcher, DayCount, MktValue " & _
    "FROM ResiOffersColor " & _
    "WHERE Cusip = 16163HAE1 " & _
    "ORDER BY Date;"

' Create the recordset object and run the query
Set rsData = New ADODB.Recordset
rsData.Open sSQL, sConnect, adOpenForwardOnly, _
    adLockReadOnly, adCmdText

' Make sure we get records back
If Not rsData.EOF Then
    ' Dump the contents onto the worksheet
    Sheet2.Range("A2").CopyFromRecordset rsData
    ' Close the recordset object
    rsData.Close
Else
    ' Close the recordset object
    rsData.Close
    MsgBox "Error: No records returned.", vbCritical
End If

' Destroy the recordset object
Set rsData = Nothing

End Sub

I keep getting an error when trying to open a database using an ADO connection in VBA — I am getting the following error:

Run-time error ‘-2147467259 (80004005)’:
Method ‘Open’ of object ‘_Recordset’ failed

I have checked an re-checked all of my file paths and syntax, and cannot find what is wrong with the code below — can anyone help?

Public Sub PlainTextQuery()

Dim rsData As ADODB.Recordset
Dim sConnect As String
Dim sSQL As String

Dim sCusip As String

sCusip = Trim(Range("cusip").Value)

' Create the connection string
sConnect = "Provider=Microsoft.ACE.OLEDB.12.0; " & _
    "Data Source=C:UsersinternDocumentsNewStuffResiOffers_v1.accdb;"

' Create the SQL statement
sSQL = "SELECT Date, Cusip, Bond, OF, CF, Dealer, Price, Matcher, DayCount, MktValue " & _
    "FROM ResiOffersColor " & _
    "WHERE Cusip = 16163HAE1 " & _
    "ORDER BY Date;"

' Create the recordset object and run the query
Set rsData = New ADODB.Recordset
rsData.Open sSQL, sConnect, adOpenForwardOnly, _
    adLockReadOnly, adCmdText

' Make sure we get records back
If Not rsData.EOF Then
    ' Dump the contents onto the worksheet
    Sheet2.Range("A2").CopyFromRecordset rsData
    ' Close the recordset object
    rsData.Close
Else
    ' Close the recordset object
    rsData.Close
    MsgBox "Error: No records returned.", vbCritical
End If

' Destroy the recordset object
Set rsData = Nothing

End Sub

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при подключении к ado 042
  • Ошибка при подключении интернета на телевизоре 6003