Witam, posiadam:
Wersja LMS: 1.8.11 Wade (1.757.2.16/1.13.2.5)
Wersja LMSDB: 1.8.11 Wade (core: 1.36.2.2 / driver: mysql 1.34.2.2)
Wersja MySQL: 5.0.33-log
Wersja PHP: 5.2.1
Wersja Smarty: 2.6.16
Wrzucilem nowego LMS'a i po uruchomieniu nowej wersj dostaje cos takiego:
Napotkano błędy w bazie danych!
Zapytanie: CREATE FUNCTION lms_current_user() RETURNS int(11) NO SQL
RETURN @lms_current_user;
Błąd: You do not have the SUPER privilege and binary logging is enabled
(you *might* want to use the less safe log_bin_trust_function_creators
variable)
Zapytanie: CREATE VIEW customersview AS SELECT c.* FROM customers c
WHERE NOT EXISTS ( SELECT 1 FROM customerassignments a JOIN
excludedgroups e ON (a.customergroupid = e.customergroupid) WHERE
e.userid = lms_current_user() AND a.customerid = c.id)
Błąd: FUNCTION lms.lms_current_user does not exist
No coz..moze mialem zle ustawione uprawnienia, wiec skasowalem baze
danych, stworzylem na nowo baze danych metoda kopiuj wklej z
dokumentacji, uruchomilem od nowa LMSa 1.8.11, wrzucilem backup, i dziala.
Probuje ponownie zrobic upgrade, czyli wrzucam nowego LMSa, wchodze na
nowa wersje i dostaje znowu ten sam komunikat co powyzej.
Co robie zle?
Za pomoc dziekuje.
Pozdrawiam.
--
Matys Łukasz
mobile: (+ 48) 504257944
gg: 6808288
msn: lukasz(a)e-matys.com
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
Witam.
walczę już prawie trzeci dzień z uruchomieniem daemona z modułem ewx-stm
i nie mogę sobie poradzić.
Wersja LMS: 1.10.1 Ramus (1.868.2.10/1.19.2.1)
Wersja LMSDB: 1.10.1 Ramus (1.42.2.1/1.48.2.1)
Wersja MySQL: 5.0.21
Wersja PHP: 5.1.4
Wersja Smarty: 2.6.18
daemon skompilowany bez błędów .
net-snmp skompilowana ze strony net-snmp.sourceforge.net z domyślnymi
ustawieniami.
MIBS-y archera przegrane do /usr/local/share/snmp/mibs
i niestety nie mam już pojęcia co może być ze mam takie bledy.
Dec 7 23:45:05 server lmsd: ERROR: [db_exec] Query failed. Duplicate
entry '121' for key 2
Dec 7 23:45:05 server lmsd: [ewx_stm/ewx-stm] ERROR: Cannot add channel
5: (readOnly) The two parties used do not have access to use the
specified SNMP PDU.
Dec 7 23:45:05 server lmsd: [ewx_stm/ewx-stm] ERROR: Cannot add node
192.168.10.115 (00152): commitFailed
moduł tworzy kanały prawidłowo.
w bazie mysql-a
nodeassignments ma wpisy
ewx_stm_channels wpisy dotyczące kanałów
ewx_stm_nodes brak wpisów
może ktoś ma pomysła ?
pzdr.ReYu
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
Witam
mam dosc nietypowy problem, a mianowicie po padzie zasilania w
serwerze straszniee dlugo sie uruchamiaja skypty perlowe z lms-a, baza
raczej ok bo samo ui ( www ) dziala z normalna predkoscia. Czy ktos
mial podobny problem? Ewenyalnie jakies pomysly rozwiazania tego
problemu? Dziekuje
Pozdrawiam
Andy
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
no dokladnie nie musisz tego uzyc ale samo rozwiazanie i zapytania sa
wporzadku (choc wiem ze ALEC pewnie by je zoptymalizowal z dwa razy ;)), nie
za trudne nie za banalne ale spełnia swoją rolę,
Pozdrawiam
06-12-07, Rafał Suliga <r.suliga(a)fast-net.pl> napisał(a):
>
> Dzięki za pomoc, zawsze to jakiś początek i koncept na zrobienie
> tego w
> MySQL'u. Na szybko poradziłem sobie plikiem users w którym dodałem
> NAS-Port-Id == :).
>
> Pozdrawiam,
> Rafał S.
>
>
>
> _______________________________________________
> lms mailing list
> lms(a)lists.lms.org.pl
> http://lists.lms.org.pl/mailman/listinfo/lms
>
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
Dzięki za pomoc, zawsze to jakiś początek i koncept na zrobienie tego w
MySQL'u. Na szybko poradziłem sobie plikiem users w którym dodałem
NAS-Port-Id == :).
Pozdrawiam,
Rafał S.
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
kurde szukam i szukam, jest ktos kto moglby mnie naprowadzic na blad?
musze wydrukowac faktury a niestety nie mam jak przez te bledy :-)
dzieki wielkie.
--
Serdecznie pozdrawiam
Adam Machnik
email: machine(a)vf.pl
gg: 8300
tel: 512177660
On Mon, 3 Dec 2007, Dawid Widyna wrote:
> machine(a)vf.pl napisał(a):
>> DBD::mysql::st execute failed: Illegal mix of collations (latin2_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at /bin/lms-payments line 414.
>> DBD::mysql::st execute failed: Illegal mix of collations (latin2_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at /bin/lms-payments line 414.
>>
>
> Niestety nie znam się zbyt dobrze, ale jak na mój gust błąd mówi, że
> próbujesz porównywać 2 ciągi, z których każdy jest w innym kodowaniu.
>
> Może w tabeli z taryfami coś nie tak ? Sprawdź collations w mysql.
>
> pozdrawiam,
> widynek
>
> _______________________________________________
> lms mailing list
> lms(a)lists.lms.org.pl
> http://lists.lms.org.pl/mailman/listinfo/lms
>
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
Witam
Tu znów szpec od sql-a się odezwał :)
Poniższe zapytanko (standardzik):
SELECT customers.id AS id, UPPER( lastname ) AS lastname, name, SUM(
cash.value ) AS balance
>FROM customers
LEFT JOIN cash ON customers.id = cash.customerid
WHERE deleted =0
GROUP BY customers.id, lastname, name
ORDER BY balance
Zwraca mi listę ludzików wraz z ich zadłużeniem.
Dostaje kolumny id, Lastname, name i balance
A potrzebował bym do szczęścia dodatkowo (lub od biedy zawiast balance)
kolumnę z sumą ZOBOWIĄZAŃ gościa.
Idea jest taka, coby móc porównać jego łączne zobowiązania z łącznym
zadłużeniem :)
Gdzieś któryś z wydruków w lms-e daje taką funkcjonalność ale ja to
potrzebuję w skrypcie i nie mogę wyciągnąć zapytania ...
Pozdrawiam
Torin
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
Witam o to kod glownego programu:
program pppoe_ng;
uses
mysql4,mysqloi,crt,sysutils,strings,Variants,Classes,strutils;
const
dbhost : PChar='localhost';
dbuser : PChar='user';
dbpass : PChar='pass';
var
query_main,query_radcheck,query_radreply,modify : tsqlz;
t,y,x:integer;
name_lms,ip_lms,passwd_lms : string;
name_radius, passwd_radius, ip_radius : string;
// row : TMYSQL_ROW;
conn1 : PMYSQL;
conn2 : PMYSQL;
begin
clrscr;
conn1:=mysql_connect(dbhost,dbuser,dbpass);
mysql_query(conn1, 'set NAMES utf8');
query_main.sql:= 'Select id, LCASE(name), INET_NTOA(ipaddr), passwd from
lms.nodes where ownerid!=0';
query_main.sqlexec(conn1);
Writeln ('Przeładowanie modułu PPPoE:');
Writeln (' Zatwierdzanie zmian w ustawieniach PPPoE:');
x:=0;
for t:=1 to mysql_num_rows (query_main.dataset) do
begin
query_main.row := mysql_fetch_row(query_main.dataset);
name_lms:=string(query_main.row[1]);
ip_lms:=string(query_main.row[2]);
passwd_lms:=string(query_main.row[3]);
query_radcheck.sql:='select username, value from
radius.radcheckwhere username=:username;';
query_radcheck.parasstring(':username', name_lms+'@flynet.com.pl');
query_radcheck.sqlexec(conn1);
query_radcheck.row:=mysql_fetch_row(query_radcheck.dataset);
if (mysql_num_rows(query_radcheck.dataset) <> 0) then
begin
query_radreply.sql:='select value from radius.radreply where
attribute=:attribute AND username=:username;';
query_radreply.parasstring(':attribute', 'Framed-IP-Address');
query_radreply.parasstring(':username', name_lms+'@flynet.com.pl');
query_radreply.sqlexec(conn1);
query_radreply.row:=mysql_fetch_row(query_radreply.dataset);
ip_radius:=string(query_radreply.row[0]);
name_radius:=string(query_radcheck.row[0]);
passwd_radius:=string(query_radcheck.row[1]);
// writeln('haslo1 '+passwd_lms+' haslo2 '+passwd_radius+'
ip_radius: '+ip_radius);
if (passwd_lms = '') then
begin
x:=x+1;
modify.sql:='DELETE radius.radcheck, radius.5radreply FROM
radius.radcheck, radius.radreply WHERE
radius.radcheck.username=radius.radreply.username AND
radius.radcheck.username=:username;';
modify.parasstring(':username', name_lms+'@flynet.com.pl');
modify.sqlexec(conn1);
writeln(' *Wyłączam PPPoE dla urządzenia: '+name_lms);
end
else
begin
if (passwd_radius <> passwd_lms) then
begin
x:=x+1;
modify.sql:='UPDATE radius.radcheck SET value=:value WHERE
attribute=:attribute AND username=:username;';
modify.parasstring(':value', passwd_lms);
modify.parasstring(':attribute', 'Password');
modify.parasstring(':username', name_lms+'@flynet.com.pl');
modify.sqlexec(conn1);
writeln(' *Aktualizuję hasło dla urządzenia: '+name_lms);
end;
if (ip_lms <> ip_radius) then
begin
x:=x+1;
modify.sql:='UPDATE radius.radreply SET value=:value WHERE
attribute=:attribute AND username=:username;';
modify.parasstring(':value', ip_lms);
modify.parasstring(':attribute', 'Framed-IP-Address');
modify.parasstring(':username', name_lms+'@flynet.com.pl');
modify.sqlexec(conn1);
writeln(' *Aktualizuję adres ip dla urządzenia: '+name_lms);
end;
end;
end
else if (passwd_lms <> '') then
begin
modify.sql:='INSERT INTO radius.radcheck (username, attribute,
value) VALUES (:username, :attribute, :value);';
modify.parasstring(':username', name_lms+'@flynet.com.pl');
modify.parasstring(':attribute','Password');
modify.parasstring(':value', passwd_lms);
modify.sqlexec(conn1);
modify.sql:='INSERT INTO radius.radreply (username, attribute,
value) VALUES (:username, :attribute, :value);';
modify.parasstring(':username', name_lms+'@flynet.com.pl');
modify.parasstring(':attribute','Framed-IP-Address');
modify.parasstring(':value', ip_lms);
modify.sqlexec(conn1);
writeln(' *Włączam PPPoE dla urządzenia: '+name_lms);
x:=x+1
end;
end;
if (x = 0) then writeln(' Nie było żadnych zmian do zatwierdzenia!')
else
begin
write('Dokonano ');
write(x);
writeln(' zmian(y) w ustawieniach PPPoE');
end;
query_main.free;
query_radcheck.free;
query_radreply.free;
query_main.sql:='select username from radius.radcheck;';
query_main.sqlexec(conn1);
writeln(' Czyszczę PPPoE ze starych nazw:');
x:=0;
for t:=1 to mysql_num_rows(query_main.dataset) do
begin
query_main.row:=mysql_fetch_row(query_main.dataset);
name_radius:=string(query_main.row[0]);
delete(name_radius,length(name_radius)-13,14);
query_radcheck.sql:='select name from lms.nodes where name=:username;';
query_radcheck.parasstring(':username', name_radius);
query_radcheck.sqlexec(conn1);
if (mysql_num_rows(query_radcheck.dataset) = 0) then
begin
modify.sql:='DELETE radius.radcheck, radius.radreply FROM
radius.radcheck, radius.radreply WHERE
radius.radcheck.username=radius.radreply.username AND
radius.radcheck.username=:username;';
modify.parasstring(':username', name_radius+'@flynet.com.pl');
modify.sqlexec(conn1);
writeln(' *'+name_radius+'@flynet.com.pl');
x:=x+1;
end;
end;
if (x = 0) then writeln(' Nie było nic do czyszczenia!')
else
begin
write('Wyczyszczono ');
write(x);
writeln(' rekord(ów)');
end;
mysql_close(conn1);
writeln ('Przeładowanie modułu PPPoE zakończone sukcesem!');
halt(0);
end.
-----------------------------------------------------------------------------------------------------------------
o to kod unitu mysqloi:
UNIT MYSQLOI;
INTERFACE
USES
MYSQL4,CRT,SYSUTILS,STRINGS,VARIANTS,CLASSES,STRUTILS;
TYPE
TSQLZ = OBJECT
SQL:ANSISTRING;
PSQL:PCHAR;
ROW:TMYSQL_ROW;
DATASET : PMYSQL_RES;
PROCEDURE PARASSTRING(PAR:STRING;VALUE:VARIANT);
PROCEDURE PARASNUMERIC(PAR:STRING;VALUE:VARIANT);
PROCEDURE PARASDATE(PAR:STRING;VALUE:VARIANT);
PROCEDURE SQLEXEC(CONN:PMYSQL);
PROCEDURE UPDATE;
PROCEDURE FREE;
END;
FUNCTION MYSQL_CONNECT(HOST:PCHAR;USER:PCHAR;PASS:PCHAR):PMYSQL;
VAR
// SOCK : PMYSQL;
// ROW : TMYSQL_ROW;
// Y : INTEGER;
QMYSQL : TMYSQL;
IMPLEMENTATION
PROCEDURE TSQLZ.FREE;
BEGIN
MYSQL_FREE_RESULT(DATASET);
END;
PROCEDURE TSQLZ.SQLEXEC(CONN:PMYSQL);
BEGIN
UPDATE;
IF (MYSQL_QUERY(CONN,PSQL) < 0) THEN
BEGIN
WRITELN (STDERR,'QUERY FAILED ');
WRITELN (STDERR,MYSQL_ERROR(CONN));
HALT(1);
END;
DATASET := MYSQL_STORE_RESULT(CONN);
// IF (DATASET = NIL) THEN
// BEGIN
// WRITELN (STDERR,'QUERY FAILED ');
// WRITELN (STDERR,MYSQL_ERROR(CONN));
// MYSQL_CLOSE(CONN);
// HALT (1);
// END;
//IF (SWITCH = 1) THEN
//BEGIN
// DATASET:=MYSQL_STORE_RESULT(BAZA);
//END;
//IF (SWITCH = 2) THEN
//BEGIN
// DATASET:=MYSQL_STORE_RESULT(BAZA);
// IF (MYSQL_NUM_ROWS(DATASET) > 0) THEN
// BEGIN
// FOR Y:=1 TO MYSQL_NUM_ROWS(DATASET) DO
// BEGIN
// ROW:=MYSQL_FETCH_ROW(DATASET);
// WRITELN(ROW[1]);
// END;
// END;
//END;
//MYSQL_QUERY(BAZA,PSQL);
END;
PROCEDURE TSQLZ.UPDATE;
BEGIN
psql:=stralloc(length(sql)+1);
psql:=strpcopy(psql,sql);
end;
procedure tsqlz.parasstring(par:string;value:variant);
begin
sql:=ansireplacetext(sql,par,#39+value+#39);
update;
end;
procedure tsqlz.parasnumeric(par:string;value:variant);
begin
sql:=ansireplacetext(sql,par,value);
update;
end;
procedure tsqlz.parasdate(par:string;value:variant);
begin
sql:=ansireplacetext(sql,par,value);
update;
end;
function mysql_connect(host:PChar;user:PChar;pass:PChar):PMYSQL;
var
sock, sock_back : PMYSQL;
back_host, back_user, back_pass : PChar;
// qmysql : TMYSQL;
begin
back_host:='localhost';
back_user:='root';
back_pass:='abimbu6';
mysql_init(PMySQL(@qmysql));
sock:=mysql_real_connect(PMysql(@qmysql),host,user,pass,nil,0,nil,0);
if (sock = Nil) then
begin
Writeln (stderr,'Couldn''t connect to MySQL.');
Writeln (stderr,mysql_error(@qmysql));
//
sock_back:=mysql_real_connect(PMysql(@qmysql),back_host,back_user,back_pass,nil,0,nil,0);
end;
mysql_connect:=sock;
end;
end.
Pamiętaj o z linkowaniu libmysqlclient. Wiem ze program moze troche
przerazac ale ja nie pisze w pascalu zawodowo musialem przepisac po prostu
skrypt do jakioegos normalnego jezyka co sie bedzie normalnie wykonywal,bo
to samo w bashu hmmm wykonywalo sie jakies 4 sekundy... Mam gotowe binarki
ale jak widac haslo i user do bazy sa zapisane w kodzie zrodlowym wiec
lepiej abys sam opanowal kompilacje :). sorry za caloksztalt ale nie pisalem
tego z mysla zeby to komu kolwiek udostępnić.
Pozdrawiam
05-12-07, malpi <malpi(a)o2.pl> napisał(a):
>
>
> Dnia 5 grudnia 2007 9:47 Rafał Suliga <r.suliga(a)fast-net.pl> napisał(a):
>
> > OK, to jak możesz to podeślij będę bardzo wdzięczny :).
> >
> > Pozdrawiam, i dzięki za pomoc.
> >
>
> sql.conf nic Ci nie da, bo nie jest zmieniony. Ja u siebie realizuję to
> przez funkcję plpsql (mam bazę postgresa)
>
> Generalnie nie daje gotowych rozwiązań, bo to już wdrożenie (czytaj usługa
> płatna).
>
> Pozdrawiam
>
>
> _______________________________________________
> lms mailing list
> lms(a)lists.lms.org.pl
> http://lists.lms.org.pl/mailman/listinfo/lms
>
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
witam , mam podobny priblem , ale za cholere nie moge sobie z tym poradzić ,
możesz powiedzieć co konkretnie zrobiłeś że normalnie Ci sie wyswietlają
literki ?
_______________________________________________
lms mailing list
lms(a)lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms