Member 14161770 Ответов: 2

Как справиться с проблемой платформы


Привет,

У меня есть программа для извлечения данных клиентов в качестве выходных данных, где входными значениями могут быть любые из этих двух упомянутых ниже.
1. диапазон дат (от и до значения даты)
2. имя клиента

недавно у нас была миграция с платформы AIX на Linux. Дело в том, что эта программа отлично работает на платформе AIX, но после миграции, похоже, для date rang вывод не отображается. Я получил комментарий, чтобы проверить, является ли это проблемой данных или нет. Что значит "проблема с данными"? И что может быть причиной того, что одна и та же программа не работает на другой платформе?Любая помощь будет оценена по достоинству.

Что я уже пробовал:

Я попробовал запрос, который он использует для извлечения данных на сервере БД, и он также дал результат. Но то же самое когда он извлекает из программы не дает вывода

Richard MacCutchan

Не видя часть вашего кода, невозможно догадаться.

2 Ответов

Рейтинг:
1

David_Wimbley

Здесь слишком много неизвестного, чтобы кто-то мог оказать большую помощь. Единственное, что мы можем предложить, - это ваш вопрос о проблеме данных, и даже он субъективен.

Я предполагаю, что они спрашивают о том, что это "проблема с данными", так это то, что данные могут быть повреждены из-за того, что я предполагаю, что это была миграция с сервера а на сервер В. Они хотят, чтобы вы проверили наличие любых потенциальных проблем в ваших таблицах проблем. Это повлечет за собой сравнение таблицы с сервера а с проблемной таблицей на сервере В и выяснение наличия каких-либо проблем.

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

Это звучит так, как будто у вас, вероятно, есть проблема со строкой соединения-это мое предположение, и это дикое предположение, как я уже сказал, его чрезвычайно трудно для кого-либо предоставить ценный вклад.

I would take your issue with getting no results and start to rule out what it isnt. Meaning, can you connect to the database on the linux server, yes? great its not an issue of whether the DB is up or not. Then, write a sample script or program to access said database, does it work from code? great. Copy the connection string from Server A to Server B in your sample app, does your sample/test app still work? No? then issue appears to be in your connection string. If you tried to connect to the DB from your local machine and nothing worked/it timed out, your problem is likely firewall related on the linux box at which point you'll need to investigate ip tables and all that fun stuff to adjust any related ACLs to allow for connectivity.

Надеюсь, вышеизложенное дает вам некоторые идеи, но также подчеркивает тот факт, что никто из нас не может сказать вам, что не так с вашим linux-сервером.


Member 14161770

если проблема с данными относится к вышеупомянутому повреждению, то почему то же самое я могу получить как o/p от сервера БД отдельно?

Member 14161770

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

Member 14161770

Когда я запускаю его в режиме отладки, он получает значения, но выбрасывает seg.fault, как только он завершает цикл while для извлечения значений

David_Wimbley

Вам придется самостоятельно отлаживать свой код или публиковать более подробную информацию с соответствующими образцами кода. Подумайте об этом таким образом, вы не идете в кабинет врача, ожидая, что они диагностируют вашу болезнь и предоставят вам программу лечения с лекарствами, а все от вас просто говорят: "мне больно". Это вроде того, что ты здесь делаешь. Вы говорите, что у вас есть ошибка ошибки сегмента, но никто из нас ничего не может сделать, чтобы помочь вам без конкретики, учитывая, что мы не ваши коллеги, у нас нет доступа к вашему проекту, исходному коду, серверам или базам данных.

Member 14161770

Хорошо. Позвольте мне объяснить это подробно
Предположим, что есть 3 детали клиентов, которые запрос извлекает для печати на экране
эти данные присутствуют в связанном списке
Какое-то время проверяет петли для каст.данные!=Нуль
а затем печатает данные.
ll должен перейти к следующей записи, как только он напечатает детали текущей записи, и она переместится.
Я могу распечатать следующую запись также там, где она делает link=link->next
но когда дело доходит до того, чтобы проверить, не являются ли данные нулевыми, он выдает ошибку seg
Повторяю, для 1-го каста. он успешно печатает детали. для следующей записи он выбрасывает seg.fault

David_Wimbley

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

Мое предложение состояло бы в том, чтобы провести некоторое исследование того, что такое ошибка сегментации, и посмотреть, как она применяется по отношению к вашему коду.

https://www.google.com/search-что?q=сегментация+ошибка+ошибка

Member 14161770

Я полностью понимаю ваше беспокойство. Я обнаружил строку, вызывающую seg.fault, и она показывает, что не может получить доступ к памяти по адресу 0x0, что означает, что она ссылается на нулевое значение. копать почему это происходит потому что я знаю что у нас есть данные для печати

Рейтинг:
0

KarstenK

Вам придется иметь дело с исходным кодом. Мое лучшее предположение заключается в том, что синтаксический анализатор (переводчик) ввода даты работает не так же, как в Linux, как в AIX, и поэтому создает некоторые сообщения об ошибках. Они иногда бывают немного странными. Когда вам очень повезло, это может быть изменение настроек даты, таких как формат, но обычно какой-то опытный кодер должен применить какое-то исправление.