modyfikacja zapytania radiusa
mg - 13-07-2007 00:01
modyfikacja zapytania radiusa
Witam, jest baza danych, w której adresy IP są zapisane w formie dziesiętnej np. 3232239794. Potrzebuje tak zmodyfikować poniższe zapytanie, aby zwracało adres już przekształcony do standardowego zapisu IP tzn. xxx.xxx.xxx.xxx gdzie "Value" to właśnie adres IP. Dzięki za wszelaką pomoc. Obawiam się jednak, że takie rzeczy to tylko w Erze;)
authorize_check_query = "SELECT id, UserName, Attribute, Value, op \ FROM ${authcheck_table} \ WHERE Username = '%{SQL-User-Name}' \ ORDER BY id"
pozdrawiam Mikołaj
Konrad Kosmowski - 13-07-2007 00:01
** mg <mikolaj.goj@gmail.com> wrote:
> jest baza danych, w której adresy IP są zapisane w formie dziesiętnej > np. 3232239794. Potrzebuje tak zmodyfikować poniższe zapytanie, aby > zwracało adres już przekształcony do standardowego zapisu IP tzn. > xxx.xxx.xxx.xxx gdzie "Value" to właśnie adres IP. Dzięki za wszelaką > pomoc. Obawiam się jednak, że takie rzeczy to tylko w Erze;)
Ale *jaka* baza danych? Do tak prostych/płaskich tabel to chyba najsensowniej jest MySQL (wydajność), no ale wróżę z fusów - to MySQL?
Jeżeli MySQL to zrobisz to banalnym selectem z użyciem funkcji do ogarniania stringów (manual się kłania). Ew. jak jakaś aplikacja, która ma te zapytania wykonywać nie da sobie z tym rady to można założyć widok, który zwraca dane w tym formacie (również z użyciem funkcji tekstowych).
http://dev.mysql.com/doc/refman/5.0/...functions.html http://dev.mysql.com/doc/refman/5.0/...tion_substring http://dev.mysql.com/doc/refman/5.0/...unction_concat
-- + ' .-. . , * ) ) http://kosmosik.net/ . . '-' . kK
=?iso-8859-2?Q?Krzysztof_Jod=B3owski?= - 13-07-2007 00:01
> jest baza danych, w której adresy IP są zapisane w formie dziesiętnej > np. 3232239794. Potrzebuje tak zmodyfikować poniższe zapytanie, aby > zwracało adres już przekształcony do standardowego zapisu IP tzn. > xxx.xxx.xxx.xxx gdzie "Value" to właśnie adres IP.
Forma dzisiętna nie jest stringiem jak powyżej zaproponował Konrad.
Na http://www.iowight.com/iwindex/decimal.php3 masz "algorytm" jak zamienić postać dzisiętną na normalną. W skrócie należy zamienić dec na ośmioznakowy hex, potem podzielić na cztery dwuznakowe kawałki, każdy kawałek zamienić z powrotem na dec, oddzilić je kropkami i już. Do zaimplementowania w bazie raczej upierdliwe, ale możliwe.
-- pozdrawiam Krzysztof Jodłowski http://www.wysylkowo.pl
mg - 13-07-2007 00:01
Krzysztof Jodłowski pisze: >> jest baza danych, w której adresy IP są zapisane w formie dziesiętnej >> np. 3232239794. Potrzebuje tak zmodyfikować poniższe zapytanie, aby >> zwracało adres już przekształcony do standardowego zapisu IP tzn. >> xxx.xxx.xxx.xxx gdzie "Value" to właśnie adres IP. > > Forma dzisiętna nie jest stringiem jak powyżej zaproponował Konrad. > > Na http://www.iowight.com/iwindex/decimal.php3 masz "algorytm" jak zamienić > postać dzisiętną na normalną. W skrócie należy zamienić dec na ośmioznakowy > hex, potem podzielić na cztery dwuznakowe kawałki, każdy kawałek zamienić z > powrotem na dec, oddzilić je kropkami i już. > Do zaimplementowania w bazie raczej upierdliwe, ale możliwe. >
Baza danych to MySQL. Zapytanie, które przesłałem jest wykonywane przez serwer radius w celu autoryzacji użytkownika, oraz przydzielenia mu adresu IP. Niestety, zapytanie to musi już zwrócić wszystko tak jak potrzebuje tego radius. Nie ma możliwości na późniejsze modyfikowanie otrzymanych danych (tak mi się wydaje). Czy jest możliwe zaimplementowanie całego algorytmu w ramach jednego zapytania?
pozdrawiam Mikołaj
cienki_bolek - 13-07-2007 00:01
mg napisał(a): > Witam, > jest baza danych, w której adresy IP są zapisane w formie dziesiętnej > np. 3232239794. Potrzebuje tak zmodyfikować poniższe zapytanie, aby > zwracało adres już przekształcony do standardowego zapisu IP tzn. > xxx.xxx.xxx.xxx gdzie "Value" to właśnie adres IP. Dzięki za wszelaką > pomoc. Obawiam się jednak, że takie rzeczy to tylko w Erze;) > > > authorize_check_query = "SELECT id, UserName, Attribute, Value, op \ > FROM ${authcheck_table} \ > WHERE Username = '%{SQL-User-Name}' \ > ORDER BY id" > > > pozdrawiam > Mikołaj
http://dev.mysql.com/doc/refman/4.1/...tion_inet-ntoa
Konrad Kosmowski - 13-07-2007 00:01
** Krzysztof Jodłowski <bluelaser@poczta.onet.pl> wrote:
>> jest baza danych, w której adresy IP są zapisane w formie dziesiętnej >> np. 3232239794. Potrzebuje tak zmodyfikować poniższe zapytanie, aby >> zwracało adres już przekształcony do standardowego zapisu IP tzn. >> xxx.xxx.xxx.xxx gdzie "Value" to właśnie adres IP.
> Forma dzisiętna nie jest stringiem jak powyżej zaproponował Konrad.
A tak. Późno było, zrozumiałem, że to po prostu zapis bez kropek np. 127000000001. :)
-- + ' .-. . , * ) ) http://kosmosik.net/ . . '-' . kK
=?iso-8859-2?Q?Krzysztof_Jod=B3owski?= - 13-07-2007 00:01
W MySQL jest jak w Erze - nawet taka funkcja się znajdzie. Czyli jak zwykle wystarczyło poszukać w dokumentacji.
Krzysztof
mg - 13-07-2007 00:01
cienki_bolek pisze: > mg napisał(a): >> Witam, >> jest baza danych, w której adresy IP są zapisane w formie dziesiętnej >> np. 3232239794. Potrzebuje tak zmodyfikować poniższe zapytanie, aby >> zwracało adres już przekształcony do standardowego zapisu IP tzn. >> xxx.xxx.xxx.xxx gdzie "Value" to właśnie adres IP. Dzięki za wszelaką >> pomoc. Obawiam się jednak, że takie rzeczy to tylko w Erze;) >> >> >> authorize_check_query = "SELECT id, UserName, Attribute, Value, op \ >> FROM ${authcheck_table} \ >> WHERE Username = '%{SQL-User-Name}' \ >> ORDER BY id" >> >> >> pozdrawiam >> Mikołaj > > http://dev.mysql.com/doc/refman/4.1/...tion_inet-ntoa >
Dzięki!!! Właśnie o to mi chodziło:)
serdecznie pozdrawiam Mikołaj
Rafal sxat - 15-07-2007 00:00
> W MySQL jest jak w Erze - nawet taka funkcja się znajdzie. > Czyli jak zwykle wystarczyło poszukać w dokumentacji. >
a jesli nie ma to zawsze zostaje UDF i wszystko mozna sobie zaimplementowac
pozdrawiam Rafal sxat
-- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
=?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?=
[ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?=
phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?=
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?=
[MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?=
mecze sie i mecze i nic - zapytanie czesciowe
zanotowane.pldoc.pisz.plpdf.pisz.plptsite.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|