Sort: by date | rating in descending | ascending order
Тест по Правилам дорожного движения 2006 года для телефона
Макс on 02 May 2007 15:35
Программа работает на мобильном телефоне. Написана под J2ME (MIDP 2.0).
Функционал до безобразия прост: показывает вопрос, предлагает варианты ответа, в случае ошибки показывает правильный ответ. Можно пропускать по одному или по 20 вопросов.
Тестировал работоспособность на Qtek 8310. Занимает 8MB.

Tags: j2me, java, ПДД, правила дорожного движения

Read more… / Add comment / Rating: 3.04 / Rate 1 2 3 4 5
Использование XML в Oracle Data Integrator
Макс on 16 April 2007 17:06
Никогда! Слышите, никогда не используйте файлы XML с BOM-сигнатурой в Oracle Data Integrator. Он их не поймёт.

Tags: xml, charset, ODI, XML, UTF-8, Oracle Data Integrator

Read more… / Add comment / Rating: 3.06 / Rate 1 2 3 4 5
Вторая версия QCDNP2
Макс on 06 April 2007 14:02
Ура! У меня дошли руки сделать поддержку соединения с last.fm через HTTP-proxy. Это оказалось куда проще, чем описывается во всяких мануалах.
Не надо писать
CONNECT server.com:80 HTTP/1.1
Host: server.com:80
перед GET. Можно просто соединяться с proxy, а потом тупо отслыать GET с адресом нужного удалённого сервера.

Но самое важное не это. Я нашёл дичайший баг, из-за которого у Meneldor'а не работала отправка песен на last.fm (и, похоже, не только у него). Я писал в HTTP-заголовке Host имя локального хоста. Не знаю откуда такой тупизм, но я в шоке.

Плюс ко всему, я заменил CRT-функции на более защищённые (strcpy на strcpy_s, к примеру) и вместо последовательностей strcpy и strcat поставил sprintf_s (чё я раньше так не делал?).

Короче, надо-надо-надо делать рефакторинг. Всегда. Свежий взгляд помогает найти тонну багов.

Tags: QCDNP2

Read more… / Add comment / Rating: 3.01 / Rate 1 2 3 4 5
Просмотр сообщений об ошибках в ODI
Макс on 21 March 2007 10:58
ODI Operator как-то нестабильно работает с репозиторием на MS SQL Server 2000, а как выполнился ETL посмотреть надо. Особенно, если произошла ошибка.

Ищём номер нужной сессии в Operator. Например, это 43002.
Теперь ищем шаг, на котором произошла ошибка. Это последний шаг сессии с NB_RUN = 1.

SELECT sess_no, nno, step_name FROM SNP_SESS_STEP WHERE sess_no = 43002 AND nb_run = 1 ORDER BY nno
Получаем NNO — номер шага, допустим он равен 3. Теперь ищем номер задачи, на которой произошла ошибка.
SELECT scen_task_no, i_txt_task_mess FROM SNP_SESS_TASK_LOG WHERE sess_no = 43002 AND nno = 3 AND nb_run = 1 AND task_status = 'E'
I_TXT_TASK_MESS — код сообщения об ошибке, допустим он равен 437002. Теперь читаем это сообщение.
SELECT txt FROM SNP_EXP_TXT WHERE i_txt = 437002 ORDER BY txt_ord
Получается что-нибудь, типа
1205 : 40001 : java.sql.SQLException: Transaction (Process ID 63) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
java.sql.SQLException: Transaction (Process ID 63) was deadlock ed on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore .java:2781)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
at net.sourceforge.jtds.jdbc.TdsCore.getNextRow(TdsCore.java:761)
at net.sourceforge.jtds.jdbc.JtdsResultSet.next(JtdsResultSet.java:593)
at com.sunopsis.dwg.dbobj.SnpS essTaskSql.execCollOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTa sk(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.g.E(g.java)
at com.sunopsis.dwg.dbobj.SnpScen.a(SnpScen.java)
at com.sunopsis.dwg.dbobj.SnpScen.localExecuteSync(SnpScen.java)
at com.sunopsis.dwg.tools.StartScen.actionExecute(StartScen.java)
at com.sunopsis.dwg.function.SnpsFunctionBaseRepositoryConnected.execute(SnpsFunctionBaseRepositoryConnected.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.g.y(g.java)
at com.sunopsis.dwg.cmd.g.b(g.java)
at com.sunopsis.c.r.run(r.java)
Да, дедлоки в SQL Server, это, конечно, трагедия :)))

Tags: Sunopsis, ODI, Oracle Data Integrator

Read more… / Add comment / Rating: 2.95 / Rate 1 2 3 4 5
Установка Oracle Metadata Navigator
Макс on 15 March 2007 13:20
В файлике WEB-INF/web.xml надо поменять вторую строчку на это:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee»; id="WebApp_ID" version="2.4">
Иначе вылазит ошибка: java.lang.IllegalStateException:can't declare any more prefixes in this context.

Tags: ODI, Metadata Navigator, Tomcat, Oracle Data Integrator

Read more… / Add comment / Rating: 2.94 / Rate 1 2 3 4 5
Зависимости служб Windows
Макс on 12 March 2007 23:56
Чтобы сделать одну службу зависимой от другой, надо открыть ключ службы в реестре и создать там REG_MULTI_SZ значение с именем DependOnService и значением в виде названий служб, от которых текущая должна зависеть, разделённых новой строкой. Ключ службы находится по адресу HKLM\SYSTEM\CurrentControlSet\Services\SERVICE_NAME

Tags: реестр, Windows, services

Read more… / Add comment / Rating: 2.99 / Rate 1 2 3 4 5
Настройка русского языка в Attunity
Макс on 07 March 2007 17:21
В настройках Bindings выбрать нужный Binding и в категории miscellaneous установить параметры language и codepage. Обычно эти значения Russian и windows-1251. Ещё в \Program Files\Attunity\Server\Def\ подменить файлик rus.cp на тот, что в аттаче к посту.

Tags: charset, JDBC, Attunity

Read more… / Add comment / Rating: 2.96 / Rate 1 2 3 4 5
Как посчитать MD5, имея Perl
Макс on 06 March 2007 14:21
perl -MDigest::MD5 -e "$ctx= Digest::MD5->new; open FILE, shift or die $!; $ctx->addfile(*FILE); print $ctx->hexdigest;close FILE;" filename

Tags: Perl, one line

Read more… / Add comment / Rating: 2.94 / Rate 1 2 3 4 5
Данные в Oracle Data Integrator
Макс on 02 March 2007 13:54
Если произошли какие-то изменения в репозиториях (особенно в Master), следует перезапустить агентов, которые были запущены до изменений. Иначе агенты могут кешировать старые данные, в результате его будут ошибки.

Tags: Sunopsis, ODI, Agent, Oracle Data Integrator

Read more… / Add comment / Rating: 2.97 / Rate 1 2 3 4 5
Русские символы и MS Access
Макс on 28 February 2007 15:28
Надо обязательно в Properties к соединению по JDBC установить параметр charSet равный Cp1251

Tags: charset, JDBC, ODBC, MS Access

Read more… / Add comment / Rating: 2.98 / Rate 1 2 3 4 5
Search: 
Hello, Guest. ( Login / Create account )