powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase & ASP.NET
10 сообщений из 10, страница 1 из 1
Sybase & ASP.NET
    #33545123
Egorov Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите кто нибудь пожалуйста.
Уже неделю парюсь!
У меня БД на Sybase к которой я обращаюсь из Web приложения.
Использую OLE DB, провайдер ASAProv9.0.
Проблема в том что у меня не читаются строки размером больше 200 байт, хотя в базе данных они могут быть как просто VARCHAR 1000 допустим так и Long Varchar.
Не могу понять в чем проблема.
Буду очень признателен! :)
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545131
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно посмотреть текст запроса, возвращающие данные и кусочек кода, где Вы определяете, что строки обрезались ?
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545138
Egorov Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запросы любые напримар Select Message from Messages
где Message VarChar(1000).
Дело в том что переменная просто не читается и возвращается либо пустое значение либо предыдущее.
Код может быть следующего содержания.
OleDbConnection conn = DBConnection.getConnection();
OleDbCommand cmd = conn.CreateCommand();
String id = ctx.getDataObject().getIdent();
cmd.CommandText = "select MessageText,Messageid,objectid from Messages where ObjectID = " + id;
OleDbDataReader rdr= cmd.ExecuteReader();
byte[] mBuffer = new byte[sf];
while(rdr.Read())
{
Message msg = new Message();
msg.setText(Convert.ToString(rdr[0]));
msg.setUser(SecurityHelper.getCurrentUser());
msg.setIdent(Convert.ToString(rdr["messageid"]));
msg.setObjectID(Convert.ToString(rdr["objectid"]));
ctx.getMessages().Add(msg);
}
rdr.Close();
conn.Close();
в данном примере msg.setText ничего не смогла установить так как rdr[0] ничего не вычитала из запроса.
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545141
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос точно записи возвращает ?
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545144
Egorov Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно записи
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545146
Egorov Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно возвращает.
Это происходит при любых запросах, в котрых возвращаемые данные размером больше 200 байт, в данном случае строка MessageText.
Причем соседние поля читаются нормально.
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545148
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, сам не работаю с C#. Но посмотрел примерчики в папке %ASANY9%\Sample\ADO.NET, там значения String полей берутся не так, как у Вас:
reader.GetString( 0 )
а не:
Convert.ToString(rdr[0]);

Поиграйтесь с их примерчиками, думаю дело не в OLEDB провайдере ASA, а в ADO.NET - где то, что то Вы просто неправильно делаете. Код свой еще на форум ADO.NET киньте, возможно в нем сразу там что то увидят C#-ники.
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545155
Egorov Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да дело совсем не в том как я считываю данные(я пробывал всеми возможными способами) дело в том что DataReader их не считывает!
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33545278
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну Вы все таки попробуйте стандартные демки кода ASA протестить. У меня не стоит на домашней машине VS.NET, но помнится проблем со стрингом на ADO.NET я не испытывал. Правда подключался я не через OLE провайдер, а нативный ASA-шный, там все прекрасно работало. Кстати - какой EBF стоит, может быть стоит накатить последний и если возможно воспользоваться нативным драйвером доступа, который в последнем EBF еще имеет свой ASA Database Manager к VS.NET по образу и подобию MSSQL Database Manager, что дает возможность просто на формы перетаскивать обьекты БД, оставляя генерацию кода на его совесть.
...
Рейтинг: 0 / 0
Sybase & ASP.NET
    #33553542
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтоб точно определиться проблема в длине строки или в клиенте, поправьте
свой запрос на "select left(MessageText,50),Messageid,objectid from Messages
where ObjectID = ...". И тогда точно будет известно. У нас читаются строки
из ASP.Net и бОльшие по длине чем 200 символов, только мы юзаем обычный ODBC
драйвер - и никаких проблем.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase & ASP.NET
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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