• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Mysql Connector/odbc

  • Автор темы Azrael
  • Дата начала
A

Azrael

Проблема с VARCHAR полями. odbcResultSet.FieldExpectedDataType возвращает непойми что, -9, -10, таких константы в лотусе вообще не определены... Когда дальше пытаюсь читать odbcResultSet.GetValue из этого поля вылетает с ошибкой "Cannot convert data from native to expected or requested datatype". Попытка насильно установить odbcResultSet.FieldExpectedDataType(i, DB_CHAR) или DB_TYPE_UNDEFINED успехом не оборачивается. Никто не в курсе, как бороться? ((
 
R

RonTermit

Просто использую
Call docCur.ReplaceItemValue("поле", CurRes.GetValue( "название") )...и для типа дата проходит на ура
 
A

Azrael

RonTermit
У меня почему-то не катят строки(((.
Создать док, и Call doc.ReplaceItemValue("dbField", result.GetValue(i)) тоже не прокатило((
 
A

Azrael

RonTermit, пример почти-что один в один из help-а

Код:
Uselsx "*LSXODBC"
...
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
...
If Not con.ConnectTo("qwerty") Then
...

Set qry.Connection = con
Set result.Query = qry
result.Execute
qry.SQL = "SELECT * FROM DATA_OUTPUT"
...
If result.IsResultSetAvailable Then
Do
result.NextRow
v= result.GetValue("<поле с типом char, varchar, text, longtext...>") ' <-- вот тут оно и затыкается
...
Loop Until result.IsEndOfData
Else
...
End if..
result.Close(DB_CLOSE)
con.Disconnect

заменял строку на что-то типа вроде Call doc.ReplaceItemValue("dbField", result.GetValue(1)), предварительно создавая doc... не прокатывает. та же самая ошибка
 
K

K-Fire

Проблема вероятно в базе либо в драйвере. Я варчары читал без каких-либо трудностей.
 
R

RonTermit

Я писал так
qry.SQL = "SELECT * FROM DATA_OUTPUT"
result.Execute
Result.LastRow
For zk =1 To Result.NumRows
Result.CurrentRow = zk
.....
и все работает по моему у тя просто не установлена первая строка а потом сразу стоит NextRow.... ну и понятно result.Execute (типа выполнить ) надо ставить уже после того как указал qry.SQL
 
A

Azrael

ок, завтра попробую, о результатах отпишусь... драйвер с оф.сайта скачал Mysql Connector/odbc 5.1
ну и понятно result.Execute (типа выполнить ) надо ставить уже после того как указал qry.SQL

сюда неправильно скопировал))))))
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!