- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
-
4400 - 4301
6041 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Apollo17hu
őstag
Akkor, amit #4397 -ben írtál, az rendben van. Vagy nem értem. Példák kellenének.
-
BuktaSzaki
tag
Több szerződésen is rajta lehetnek, de csak 1x
-
Apollo17hu
őstag
Pontosan mi a kodod? Nem lehet, hogy vannak olyan szolgaltatasok, amelyek - azon felul, hogy hibasan duplikalva vannak bizonyos szerzodesekhez - tobb szerzodeshez is kapcsolodnak?
-
BuktaSzaki
tag
Szia, köszi, én is erre gondoltam, de valamiért nem működik. Most olyanokat ad vissza, hogy egy szolgazon többször fordul elő, de nem ugyanazon a szerzodeszam-on, hanem az összesen
-
Apollo17hu
őstag
SELECT tabla.szerzszam, tabla.szolgazonFROM tablaGROUP BY tabla.szerzszam, tabla.szolgazonHAVING COUNT(*) > 1Ezzel azokat is megkapod, ha 2-nél többször van hozzárendelve ugyanaz a szolgáltatás.
-
BuktaSzaki
tag
Sziasztok, egy kis sql help kéne.
Adott egy tábla amiben szerződésszámok vannak. ezekhez tartoznak szolgáltatások, egy szerződéshez akármennyi, ezeknek van egy azonosítója. azokat a szerződésszámokat szeretném leszűrni, ahol (hibásan) egy szerződéshez 2x van egy szolgáltatás hozzárendelve (azonos az szol. azonjuk) -
martonx
veterán
-
kw3v865
senior tag
Köszönöm mindkettőtöknek a válaszokat! Több érdekes dolgot írtatok, az API-s megoldást elvetném, mert nem sok fogalmam van róla. Kicsit bővebben is kifejtem, mi lenne a cél: adott néhány kliens gép (jelenleg 3-4 db), ezek folyamatosan gyűjtik az adatokat és eltárolják egy táblában (localhoston). A cél az lenne, hogy szinkronizálni lehessen ezeket, azaz minden egyes gépen futó szoftver elérhesse (read only) a többi által rögzített táblák tartalmát. A szinkronizációnak nem szükséges valós időben megtörténnie, hiszen az is előfordulhat, hogy éppen nincs internet elérésük (földrajzilag mozgásban vannak a gépek). A gyakorlatban ez úgy nézne ki, hogy ha végeztek egy adott feladattal, akkor történne meg a szinkronizálás (néhány óránként).
Így, hogy alaposabban is tágondoltam, tulajdonképpen nem is szükséges ehhez, hogy PostgreSQL fusson a szerveren, ha az rsync-es megoldást használnám. Persze lenne egy szerver, melyre szinkronizálva lennének a táblák, és a kliensek innen szednék le a frissített txt-ket is, és ezután lennének frissítve a táblák a klieneseken. Vajon ez így működhet?
-
bambano
titán
a postgresql is tud olyat, hogy ip címre vagy tartományra korlátozni a klienseket, illetve ugyanezt tűzfallal is meg lehet oldani. ez akkor jó, ha a klienseknek ismert az ip címtartománya.
elvileg használ ssl-t, tehát akár azt is meg lehet csinálni, hogy csak ismert kulcsú klienseket beengedni.
hogy ez mennyire biztonságos, az attól is függ, hogy milyen adatokat teszel bele.
a másik lehetőség, én valószínűleg ezt választanám, hogy az insert utasításokat kiírom egy text fájlba, azt rsync+ssh-val szinkronizálnám a szerverre, és ott betölteném adatbázisba.
A db-ben hosztolt adatbázisról meg annyit, hogy a benne tárolt adatok fajtájától és a hozzá tartozó szabályzatoktól, eljárásrendtől függően (úgy értem: ezek nem elegendően precíz meghatározása esetén) akár 2 év börtönnel fenyegetett bűncselekmény is lehet felhőbe adatbázist rakni.
Az api api hátán api-val megbolondítva típusú túltervezettségről továbbra is az a véleményem, hogy semmi értelme, mert egy saját fejlesztésű apiban nagyobb valószínűséggel lesz bug, mint egy postgresql net protokollban, vagyis olyan plusz energiabefektetés, ami sose térül meg, csak ront a helyzeten.
-
martonx
veterán
-
kw3v865
senior tag
Sziasztok!
Fejlesztek egy alkalmazást (C#-ban, WinForm-os alkalmazás, Npgsql NuGet package használatával), amely a működése során a localhost-on lévő PostgreSQL adatbázisba ír adatokat (insert-el egy táblába). Jelenleg ez teljesen offline módon történik. Azonban felmerült egy olyan igény, hogy ez egy távoli PostgreSQL szervhez tudjon kapcsolódni, azaz ne kelljen állandóan menteni a táblákat, majd átvinni a másik gépre és ott betölteni, hanem közvetlenül a távoli adatbázishoz tudjon kapcsolódni.
Szerintetek ez mennyire biztonságos megoldás, ha "kiengedem" a netre a pg-t? Sajnos ilyen téren nincsenek tapasztalataim. Ebben az esetben mit javasolnátok? Esetleg VPN-nel biztonságos tudna lenni? -
baracsi
tag
-
Petium001
csendes tag
-
baracsi
tag
-
kw3v865
senior tag
-
kw3v865
senior tag
Üdv!
Van egy PostgreSQL-ben megírt függvényem (ennek tartalma most szerintem lényegtelen), melynek a teljesítményét kívánom tesztelni. Ez a függvény meg lesz majd hívva folyamatosan egymás után több ezerszer, értelemszerűen változó argumentumokkal. Ennek a teljesítményét szeretném most tesztelni. A lényeg: valahogy szimulálni akarom, hogy a valóságban nagyjából milyen gyorsan fut majd le a folyamat, ha több 1000-szer meghívom egymás után a függvényt.
Ehhez rendelkezésemre áll egy tábla, melyben a benne lévő adatokkal tudnám is tesztelni a függvényt. Tehát a terv az lenne, hogy írok egy függvényt, ami végigmegy egy FOR-ral az összes rekordon, kiszedi a felhasznákalandó értékeket változókba, és minden alkalommal meghívja a függvényemet úgy, hogy argumentumként ezeket a változókat adom meg.Szerintetek jó az elgondolás?
Íme kódom:
CREATE OR REPLACE FUNCTION sqlteszt()RETURNS voidLANGUAGE 'plpgsql'AS $BODY$DECLAREi integer;x double precision;y double precision;datetime timestamp without time zone;BEGINFOR i IN SELECT id FROM probaLOOPSELECT p.x, p.y, p.datetime FROM proba p WHERE p.id=iINTO x, y, weedpercent, datetime;PERFORM masikfuggveny(x,y,datetime,true,false,false,true,false);END LOOP;END;$BODY$;
Nem csinál semmit így, azaz lefut, de semmi hatása nincs (egyébként insert-eket is csinál, de az most lényegtelen). Ha a "masikfuggveny"-t csak simán meghívom tetszőleges bemeneti paraméterekkel, akkor tökéletesen működik.
Ha a PERFORM helyett SELECT-tel hívom meg a "masikfuggveny"-t, akkor ezt a hibaüzenetet kapom (pedig az is void, azaz nincs visszatérési értéke):
ERROR: query has no destination for result data
HINT: If you want to discard the results of a SELECT, use PERFORM instead.Van valami ötletetek mi okozhatja a problémát?
-
Petium001
csendes tag
-
Petium001
csendes tag
Szia!
7végenként van időm a gép elé kerülni, letöltöttem egy live ubuntu-t és pendrive-ről elindítottam, bejön a desktop, amikor rákattintottam a hdd-re (38 gb volume) az írta, nem lehet hozzáférni, nincs jogosultságom...
újraindítottam a linuxot, és be tudtam lépni.
az első olyan lehetőség [mysqld] alá ami volt beírtam askip-grant-tablesszöveget
"3. indítsd újra a MySQL szolgáltatást:/etc/init.d mysql restart" ezt hol? -
kw3v865
senior tag
-
Lortech
addikt
Mert a formatos megoldásod dollar quotingot használ, ami a jobban olvasható, biztosabb, egyszóval a javasolt megoldás.
Ha visszamegyünk az eredeti statikus, működő insert statementedhez:
INSERT INTO tesztsema.table (azonosito, nev) SELECT 2332,'xyz';
Az volt a cél, hogy ezt a stringet dinamikusan előállítsd, és átadd az EXECUTE statementnek.
Azt pedig úgy tudod megtenni, hogy aposztrófokat is odateszed a példában az xyz köré.
A '||name csak annyit csinál, hogy a name értékét hozzáfűzi a stringhez, de aposztrófok ettől még nem lesznek körülötte, és text típusnál ez szükséges. Szóval, vagy te fűzöd oda (nem javasolt, csak a probléma megértéséért említettem az előző hozzászólásomban), vagy dollar quotingot vagy quote_literal() / quote_ident() fgv-t használsz.Másikhoz. Ilyen szerkezet nincs, hogy IF EXECUTE
Olyan tudsz csinálni, hogy
EXECUTE STATEMENT into VAR és a VAR értékét vizsgálod IF-fel. -
kw3v865
senior tag
Köszi, igaz azóta már találtam egy megoldást, format-tal, nem túl szép megoldás, de működik:
EXECUTE format('INSERT INTO '||$1||'.table(azonosito, nev) VALUES($1,$2);') using id, name;Egyébként a te megoldásodhoz miért kell aposztróf, ha egy változóról van szó? Tehát nem közvetlenül értékeket illesztek be, hanem változónak a nevét írom be.
Ami viszont ismét kifogott rajtam, az egy függvényargumentumban megadott nevű séma (plusz a benne lévő fix nevű tábla) létezésének ellenőrzése.
IF (EXECUTE 'SELECT to_regclass('''||$1||'.tablename'')')
ERROR: type "execute" does not exist
Tehát már az eleje is rossz.
Mit ronthattam el? -
Lortech
addikt
'INSERT INTO '||$1||'.table (azonosito, nev) SELECT '||id||','||name;
>>
kiértékelés után: INSERT INTO abc.table (azonosito, nev) SELECT id_erteke, name_erteke;
Hiányzik tehát id és name változó értékei körül az aposztróf, különben azt hiszi, hogy nem egy literál, hanem egy oszlop, azért nem találja. (az id azért oké, mert number típus gondolom)
Aposztróf escape-eléséhez duplázni kell. -
baracsi
tag
-
kw3v865
senior tag
Sziasztok!
PostgreSQL-ben írok egy függvényt, melynek az egyik insert-jével van probléma, de nem tudok rájönni, hogy mi ennek az oka. Azért kell az execute, mert a séma neve a függvény egyik bemenő paramétere ($1). Az id és a name pedig változók.
EXECUTE 'INSERT INTO '||$1||'.table (azonosito, nev) SELECT '||id||','||name;Ezt a hibaüzenetet kapom: column "xyz" does not exist (itt az "xyz" a name változó értéke)
SQL state: 42703Ha függvényen kívül csak simán lefuttatom ezt:
INSERT INTO tesztsema.table (azonosito, nev) SELECT 2332,'xyz';Akkor tökéletesen működik.
Vajon mi lehet a gond?
-
Male
nagyúr
Win alól utoljára én is több éve csináltam ilyet, akkor még ext2fs kellett hozzá, meg volt valami totalcommander plugin, amivel fel lehetett csatolni a linuxos partíciót win alól is.... de az talán csak olvasni tudott. Szóval ebben olyan sokat én sem tudok hozzátenni, lehegy, hogy a Live Linux egyszerűbb lenne, bebootolja, és onnan írkál rá.
-
baracsi
tag
-
Male
nagyúr
-
Petium001
csendes tag
-
baracsi
tag
-
martonx
veterán
Úgy hogy ezek mögött valójában cégek vannak / olyan felhasználó cégek akik a supportért fizetnek.
Azaz attól, hogy magából a szoftver licenszből nincs bevételük, még egy csomó mindenből lehet.
Lásd Firefox böngésző, ahol a Mozilla abból létezik, hogy google / Microsoft időnként beléjük tol pár millió EUR - t.
-
I02S3F
addikt
Sziasztok! Hogyan termel anyagi hasznot egy open source adatbázis szoftver, rendszer, például a MariaDB? Hogy tartja magát működőképesen? Miből van erőforrása fejleszteni, tesztelni, support-álni?
A válasz egy cikk is lehet!
-
Petium001
csendes tag
Szia!
A saját hálózatomra tettem, próbáltam elérni hálózaton keresztül a http://192.168.0.100:7501/ címen, az sikerült, viszont ez jött ki:

távolról meg lehet nyitni, az működik... -
kw3v865
senior tag
Sziasztok!
PostgreSQL-ből szeretnék sémát exportálni pg_dump-pal. Annyi bonyolultság van, hogy a pg_dump.exe-t egy C#-ban megírt alkalmazás indítja el. A cél az lenne, hogy tudassam a felhasználóval, hogy sikeres volt-e a dump-olás. Van-e arra lehetőség, hogy kiírja a pd_dump az exit code-ot?
"-v"-vel kiír sok mindent, de vajon lehet-e olyat csinálni, hogy exit code 0 vagy 1-et kiírjon?
Vagy másképpen megközelítve a dolgot: ha "-v" nélkül futtatom és sikeresen lefut az exportálás, akkor nem ír ki semmit. Erre lehetne alapozni? Azaz, ha nem ír ki semmit, akkor tekinthető sikeresnek az exportálás? -
baracsi
tag
Szia,
lehet kívülről, de csak akkor ha ez nincs benne a my.cnf-ben, vagy ki van kommentezve:
bind-address=127.0.0.1, ugyanis ha benne van, akkor csak localhost-on lehet csatlakozni (web-szervereknél van értelme, nem lehet kívülről támadni a MySQL-t)Tölts le egy MySQL GUI Tools-t, ez egy régi program, annak a MySQL Administrator programjával próbálj meg csatlakozni a linux által kapott IP-címre, szerencséd van, akkor a port-ot nem változtatták
ha az sem megy és nem tudod szerkeszteni a my.cnf-et, akkor aki írta, az a sírba vitt magával minden info-t, ami szükséges
ha sikerült, akkor az alábbi módon tudod javítani
1. bal oldal válaszd ki a
boressémát a Schemata rész alatt
2. táblán jobb klikk Maintenance \ Repair table, egyébként piros lesz ez a tábla a listában, mert sérült szegény -
Petium001
csendes tag
-
baracsi
tag
Ennek semmi köze a szoftverhez, SHIFT meg recovery menü feltételezem a szofftver szolgáltatása, azt biztos, hogy nem a MySQL-é. A cél a MySQL-ben található sérült tábla rendbetétele.
1. keresd meg a linux-on a MySQL konfig fájlját, ez alapból
/etc/mysql/my.cnf, de lehet, hogy azon a gépen máshol van, ezt neked kell kideríteni
2. szerkeszd a konfig-fájlt és keresd meg a [mysqld] részt és alá írd be askip-grant-tablesszöveget
3. indítsd újra a MySQL szolgáltatást:/etc/init.d mysql restart
4. csatlakozz a MySQL-hez:mysql -u root -püss egy ENTER-t, jelszónak írjál be valamit, mindegy, hogy mit, mert askip-grant-tablesmiatt nem fog foglalkozni a jelszó ellenőrzésével
5. írd be eztuse boresmajd üss egy ENTER-t, a hibaüzenet aboressématetelnevű táblájára vonatkozik
6. írd be eztREPAIR TABLE tetel;majd üss egy ENTER-tHa működik a szoftver ezt követően, akkor szedd ki a
skip-grant-tablesrészt és ismét indítsd újra a MySQL szolgáltatást -
Petium001
csendes tag
-
baracsi
tag
el tudod indítani a MySQL-t úgy, hogy nem fog kérni autorizációs adatokat, illetve kér, de bármit megadhatsz
skip-grant-tablesbeállításnak nézz utána, ezt lehet parancssorosan is megadni, de be tudod állítani az /etc/mysql/my.cnf részben is (írtad, hogy linux-ról van szó, de lehet, hogy ott máshol van a config fájl), utána újra kell indítani a mysql service-t, ezt követően bármilyen login névvel / jelszóval be tudsz lépni, rá tudod engedni arepair table-t, után szerintem érdemes kivenni a beállítást, hogy ne tudja más hack-elni[mysqld]
skip-grant-tables
port=3306 -
Male
nagyúr
Ha a neten van, és nem tudja az elérhetőséget meg a user/passt, mert hardkódolva van a programban? Legalábbis feltételezem, hogy a program felhasználói felülete nem olyan, hogy a pincérek gépelgethetik be az SQL utasításokat, és egy sima config szövegfile sem tuti hogy van ezekről amiből kinézhetné.
...de már lényegtelen, mert kiderült, a gépen van az SQL szerver nála. -
bambano
titán
-
Petium001
csendes tag
A Mysql-nek rajta kell lennie, nincs net csatlakozás, volt, hogy napokig nem volt internet, és működött... viszont finn gomb sincs hogyan kell elindítani a repair table-t....
ha lenne command, mint a winfosban vagy valami, akkor oké, de a shift-re csak a recovery menü jön ki, a root passt nem tudom, a net-dinner-re keresve semmi nem jön elő a neten, csak egy cég aki azt sem tudja miről van szó....nem ők írták a szoftvert, pedig ilyennel foglalkoznak. Olyan, mintha böngészőre lenne írva a szoftver. Az eredeti üzemeltetők közül az első meghalt, a második eltűnt. -
Male
nagyúr
-
baracsi
tag
-
Male
nagyúr
-
baracsi
tag
-
martonx
veterán
-
Petium001
csendes tag
-
Ispy
nagyúr
Szerintem ilyenkor nem natív formátumban van tárolva az adat, de az sql szerver felismeri és átkonvertálja, ezért jó a datediff.
Én is tapasztaltam már sebesség problémát, amikor nvarchart simán számként használtam, ha ' jelek közé raktam javult a sebessége, de gondolom akkor a leggyorsabb, ha nem kell találgatnia a motornak az adattípust.
-
bambano
titán
-
Jim74
nagyúr
Mire gondolsz dátumaritmetikán pontosan?
Azért kérdezem, mert kipróbáltam, hogy varchar típusú oszlopokban tároltam dátumokat és hiba nélkül működött rajta a DATEDIFF.
Erre gondoltam:
create table #tmp (dátum1 varchar(50), dátum2 varchar(50))insert into #tmp (dátum1 , dátum2)values ('2019.11.01', '2019.11.02'),('2019.11.01', '2019.11.03'),('2019.11.01', '2019.11.04')select dátum1, dátum2, datediff(day,dátum1,dátum2) from #tmpHa butaságot kérdeztem, akkor elnézést kérek

-
sztanozs
veterán
-
Petya25
őstag
MS SQL-ben létezhet az, hogy egy 20 milliós táblán gyorsabb ha a dátum karakteresen van tárolva és indexelve mint datetime-ban?
-
Apollo17hu
őstag
Igen, fenn van az XE, és egyelőre a célnak megfelel. Köszönöm az eddigi segítséget mindenkinek, jövök még a topikba, ha elakadok.
-
Ispy
nagyúr
-
Ablakos
addikt
Nem egészen értem, miért ajánlotok fűt,fát bokrok, amikor leírja, hogy oracle -el kell dolgozni plsql devvel. Hadd kínlódjon. Minden rossz indulat nélkül.
-
bpx
őstag
Ha az XE helyett felraksz egy EE-t, akkor lesz lehetőséged olyan hagyományos típusú adatbázist létrehozni, amit mindenki más is használ, és amivel a felesleges szívástól megkíméled magad. Kivéve, ha a CDB/PDB világ érdekel.
Az XE-nek saját kísérletezős vagy development környezetben nem látom értelmét. Erre az EE is letölthető és használható licenc nélkül, és abban legalább nincsenek korlátozások.
-
martonx
veterán
Ivagy elengeded az Oracle-t és feldobsz egy mssql-t vagy MySql-t vagy postqresql-t.
-
Apollo17hu
őstag
Guglizás közben olvastam a container és a pluggable database-ről, de - ahogy írod is - fogalmam sem volt, hogy lehetne normálisan beállítani.
Nincs Linux ismeretem. Akkor azt mondod, hogyha XE helyett EE-t rakom fel, sokkal egyszerűbben hozzáférek majd a sample schema-khoz? Éjjel már ott tartottam, hogy a zippelt HR-sémát githubról töltöm le, csak az importálásnál megint falakba ütköztem.

-
bpx
őstag
Na nem, annyira tudtam már tegnap, amikor olvastam az XE-t, hogy ez lesz.
Az Oracle a 12.1-től (6 éve) bevezette a container database architektúrát, de senki nem használja, mert extra licenc költsége van, de nincs akkora hozzáadott értéke, hogy megérje.
Ehhez képest az Oracle, amit csinál az XE-vel meg a Developer VM-ekkel, az az öntökönrúgás kategória, erőlteti a container database-t, miközben ha egy kezdő bármilyen problémára rákeres neten, még mindig a nem container database-es megoldásokat látja, vagy gányolást.
Nem, te a root conatinerbe léptél be, és common usert próbáltál létrehozni (ehhez kell a C## prefix), erre nem az a megoldás, hogy lefuttattod az 'alter session set "_oracle_script"=true;' és úgy hozod létre a usert, csak sajnos az itt kapott hibára ez a Google első találat. Meg ugye rögtön DBA role csak a belépéshez, hogyne.
Pl. egy SQL Server-es analógiával élve: a masterdb-be gányoltál bele és oda készülsz betölteni user adatokat.
Csak az SQL Servernél már régóta van masterdb és mellette más adatbázisok, mindenki tudja mit hova tegyen (remélem), az Oracle-nél meg még csak most terjed ez az architektúra.
Nem, ilyet nem csinálunk, eleve rossz helyre csatlakoztál. Neked nem a root containerhez kell csatlakozni (service = xe), hanem az automatikuson létrehozott pluggable database-hez (service = xepdb1), és azon belül kell dolgozod. Persze ezt még a Oracle a saját doksijában sem írja le normálisan, ott is a root containerhez való csatlakozást mutatja példának.
Ez nem a te hibád, egy kezdő ezeket nem tudja, de a doksi nem jó, a Google meg a régi módszereket adja megoldásnak.Ha Oracle adatbázissal akarsz foglalkozni, akkor mondom, hogy mit ajánlok.
Elfelejted az XE-t, az Enterprise Edition is letölthető, arra ingyen használható, hogy otthon egyedül tanulj rajta (és az XE is egy több GB-os monstrum).
Magamnak a host OS-re sem telepíteném (meg Windowsra sem). VirtualBox, abba egy Oracle Linux, és arra mehet a 19c EE telepítése.
Ehhez alapvető Linux, virtualizáció, networking ismeretek kellenek, ha ez hiányzik, akkor simán csak telepítsd fel a gépedre és használd ott.
Az adatbázis létrehozásánál pedig ne válassz container database-t, és ha nem akarod magad tovább szivatni, akkor General Purpose template-ből csinálsz adatbázist. Ilyet egy valós rendszeren nem csinálunk, de most pont jó lesz arra, hogy felrakjon minden szemetet, ami a sample schema-khoz kell. Ugyanitt még ne válassz ki semmilyen sample schema hozzáadást.
A sample schema-k teljes halmaza már nem jön az adatbázissal, azokat githubról lehet letölteni és utólag telepíteni. -
Apollo17hu
őstag
Azért ez eléggé nem volt triviális, hogy először system-ként kell csatlakozni, majd azzal létrehozni egy felhasználót magamnak.
Rögtön két problémába is ütköztem: először nem engedett felhasználót létrehozni, mert valami prefix (C##) gondja volt. Erre ki kellett adnom egy ALTER SESSION utasítást, és így már lefutott a CREATE USER. Viszont azt sem tudtam, hogy ennek a felhasználónak külön dba jogokat is kell adnom, hogy csatlakozni tudjak vele. Most már szerencsére ez is rendben van.
Következő lépésként felkutatom a HR sémát, és utánajárok, hogy lehet felrakni, mert egyelőre ezzel is meg vagyok lőve.
-
updog
őstag
SYS vs SYSTEM - lényegében a saját user létrehozásán kívül ne nagyon használd ezeket
Ha a minta sémákat (HR, OE ilyenek) felraktad, akkor azokkal csatlakozhatsz (lényegében séma = user), amúgy nem nagyon van más user (SYS-szel futtatva SELECT * FROM ALL_USERS;megmutatja).A PDADMIN gondolom valami hasonló a PDB-k kezelésére, de mivel 11g óta nem használtam Oracle-t erről nem tudok nyilatkozni és gyors google nem segített
.SQL Developeren szerencsére semmit nem kell beállítani egy darab connection hozzáadásán kívül, és igen, utána mókolhatsz

-
Apollo17hu
őstag
Letöltöttem és telepítettem az Oracle XE-t. Eddig tényleg egyszerű volt. Néztem a tutorialban, hogy próbaként csatlakozni kéne a szerverhez. Ez sokadjára, de összejött a SYSTEM userrel. Mi a különbség SYS, SYSTEM és PDADMIN között? Van még ezeken kívül olyan user, amivel csatlakozni lehet? (újat még nem hoztam létre) Valami olyasmit is olvastam, hogy a Windows useremnek automatikusan létrehoz egy Oracle felhasználót, de azzal nem tudtam belépni.
Következő lépés az SQL Developer letöltése és beállítása, és onnantól már van egy barátságos környezetem, amiben mókolhatok?
-
updog
őstag
Egy Oracle XE kicsit overkill lehet pár táblás projektre, inkább mysql-t mondanék vagy sqlite-ot. De az Oracle-lel sincs baj ha nem egy krumpli a géped (régebbi laptopomat pl. kicsit megfektette ha service-ként futott automatikusan indítva).
Amire te gondolsz próbaverzió alatt, az szerintem az a PLSQL Developer, ami tényleg fizetős (ez ugye csak egy IDE), de ez független az adatbázistól, és az Oraclenek is van erre teljesen ingyenes megoldása (Oracle SQL Developer, ami egyébként több fajta DB-hez is csatlakozik nem csak Oracle-hez).
Amúgy az Oracle DB-ből akár az Enterprise-t is felrakhatod magadnak ingyen, korlátozás nélkül az összes feature-rel, ha csak otthon használod saját projektre
Na de az tényleg overkill lenne 
-
Ablakos
addikt
Windowsban az oracleXe telepítés mondhatni triviális. Még default sémát is kapsz. Feltöltve minta rekordokkal.
-
Apollo17hu
őstag
Otthoni PC-re (Win10) milyen megoldást ajánlanátok, ha szeretnék egy saját adatbázist üzemeltetni? Egyelőre csak létrehoznék néhány táblát, amiket feltöltenék adatokkal, és lekérdezéseket írogatnék.
Melóban eddig Oracle adatbázissal dolgoztam PL/SQL Developer környezetben, de úgy láttam, hogy ezeknek legfeljebb 1 hónapos trial verziója érhető el.
Semmilyen tapasztalatom nincs szerver telepítésében, oktatóvideók linkjét is szívesen fogadom. -
Male
nagyúr
Közben meglett a válasz: Igen. Azt hittem, hogy itt is van limit, mint a PHP esetén, hogy pl 60s után annyi, nem fut tovább... de nem, az SQL lekérés 20 perce futott, és mivel állandóan újat is küldtek, így persze belefutott az össz. limitbe, és vége lett mindennek.
Végül kiküldték mi volt az utolsó három SQL lekérés, ami beragadt, aminél kiakadt... és így megtaláltam, mert már látványra is vacak volt, de localon lepróbálva az adatbázis másolaton is iszonyat ideig futott (kb 20 perc után kilőttem).
Csak véletlen egybeesés volt a tárhely váltással, hogy most jelentkezett, máshogy használták (egy olyan módon, amit eleve beépíteni sem akartam, mert mondtam, hogy ebből teljesítmény gond lesz, de kikövetelték... de nem használták, és közben az évek során annyira megnőtt az adatok mennyisége, hogy nem pár másodperces lefutás lett, hanem fél órás, mire elkezdték így használni). Végül elcsesztem rá fél napot, de sikerült optimalizálni a lekérést, és így leszorítani 0.4 másodpercre
(Jó, amikor írtam 4 éve az eredetit, akkor kevesebbet is tudtam, ma már elve nem úgy írnám meg.) -
martonx
veterán
Olyat kérdezel tőlünk, amit rajtad és a szerver üzemeltetőkön kívül senki se tudhat, noha megértem, hogy tanácstalan vagy.
Ha időközben szerver csere történt, akkor persze van egy csomó ismeretlen a képletben (változott-e PHP verzió, csomagok verziója, MySQL verzió, ezek konfigurációi stb...) Ezek bármelyike okozhat bármilyen mellékhatást. Remélem segítettem. -
Male
nagyúr
Az kb kizárt... egyrészt le van védve rendesen (nem mondom, hogy nem hibázhatok, de odafigyeltem az ilyesmire, és át is néztem), másrészt ez nem egy weboldal, csak a kezelőknek van hozzáférésük, ami 7 embert jelent, és ezzel dolgoznak, nem nyírják ki a saját bevételüket (ha nem őrültek meg
). -
sztanozs
veterán
-
Male
nagyúr
Inkább működtetési kérdésem lenne: A tárhely totál beterhelődött, "resource limit reached" hibaoldal jött be minden oldal helyett. A szolgáltató szerint: "Egy beragadt MySQL query-t találtunk ami az alábbi adatbázishoz tartozott: ********. Ezt a folyamatot kilőttük, így a weboldal jelenleg betölt."
Most tényleg működik is. A kérdés, hogy ezt okozhatja-e egy SQL lekérés, ami túl sok erőforrást használna, túl összetett, túl sok az adat, stb... vagy ez nem fordulhat elő úgy, hogy a komplett tárhelyet túlterheli egyetlen query, és egy fél órára leáll az egész... amíg ki nem lövik?
A lényeg, hogy ezért okolható-e a kód, vagy itt tuti valami a szerverrel nem stimmel?
Előzmény:
Előtte két órával a PHP folyamatok ragadtak be sorban szerintük... akkor kikapcsolták az FPM-et, ami meg is oldotta vagy két percre a problémát, és ismét lehalt... akkor simán PHP folyamatok beragadására hivatkoztak.
Mindezt egy olyan kóddal, ami egy éve változatlan, és eddig, igaz a másik szerverükön, de hibátlanul futott... az adatbázis nem olyan kicsi, a legnagyobb táblában 5+ millió sor van, de a régi szerverükön elvileg kevesebb volt az erőforrás, és az újon meg mondjuk 200 sorral van benne több, tehát nem nőhetett a terhelés ettől. -
zolynet
veterán
-
tm5
tag
Kb. minden SQL dialektusban, a 2. szám az a hossz, nem az "-ig" : [pl. MySQL ]
-
sztanozs
veterán
-
zolynet
veterán
-
tm5
tag
-
zolynet
veterán
Sziasztok,
http://sqlfiddle.com/#!4/b9869/3/0
Hogy kellene megírni az sql-t hogy csak a város nevét adja vissza?
Banális, de valahogy nem jövök rá.
-
Fecogame
veterán
-
rikxjeee
tag
"Amit keresek az oszlopban: site_admins"
Amit keresel az oszlopban egy string, nem egy másik oszlop.
-
Fecogame
veterán
Van egy adatbázisom, amiben egy tábla, és abban egy oszlopban lévő adott értékre szeretnék szűrni, azonban valamiért nem megy.
Adatbázis neve: db
Tábla neve: wp_sitemeta
Oszlop neve: meta_value
Amit keresek az oszlopban: site_adminsA parancs, amit futtatok:
SELECT meta_value FROM wp_sitemeta WHERE meta_key = site_adminsElszáll ezzel a hibával:
ERROR 1054 (42S22) at line 1: Unknown column 'site_admins' in 'where clause'Mit csinálok rosszul?
-
haxiboy
veterán
Ha nem kéne másik rangere tenni a fieldeket/táblákat. Vagy nem kéne megtartani a sok adatot nem lenne gond 😅
A fieldek számozása egyébként a különböző partnerek fejlesztéseinek van fenntartva, de természetesen két azonos nevű Field egy táblában nem lehetséges. Szokott is probléma lenni ebből ha másik partnertől érkezik az ügyfél. -
sztanozs
veterán
-
haxiboy
veterán
Field No. az SQL-től független, csak a Dynamics NAV licencelés szempontjából mérvadó, a tábláknak is van számuk, SQL-ben attól még a saját nevével jelenik meg.
Sajnos ezeket a számokat a NAV nem engedi módosítani ha van benne adat, viszont lokalizáció ranget kellett váltanunk az ügyfélnél. Ez annyit tesz hogy vannak fieldek pl
1000-es számtól 1015-ig, mindegyiknek van valamilyen Neve (ami SQL-ben is a neve a fieldnek).
A számot meg kéne változtatni 2000-től 2015-ig. Csak akkor lehetséges, holott az SQL schema nem változik semmit, a NAV szempontjából ez azt jelenti hogy Törölted az 1000-es fieldeket és felvettél 2000-es fieldeket ugyanolyan névvel.Így amit csináltam (végül ugyebár működött).
SQL -> Delete from Táblanév
Navision -> Átszámozás
SQL SSIS -> Export Data az eredeti adatbázisból az átszámozott adatbázisbaSSIS-ben ennél az export datás funkciónál meg lehet neki mondani hogy mekkora batchekben commitoljon? Ha esetleg nagyobb mennyiségű adatot szeretnék mozgatni? Jelen esetben egy átlagos ~85GB-os adatbázisról beszélünk.
-
sztanozs
veterán
Nekem SSIS-szel nem volt eddig gondom (igaz csak max 2-3 millió rekordos adatcsomagokat mozgattam vele eddig - viszont elméletileg batchben dolgozik, szóval memóriaprobléma nem nagyon lehetne vele.
Amúgy nem lett volna megoldás átnevezni a táblát és csinálni a régi névvel egy view-t, ami megfelelő sorrendben tartalmazz a mezőket? -
haxiboy
veterán
A változtatások dynamics nav tábla oldalon történnek (field no.) ami SQL oldalról irreveláns, attól még a field neve ugyanaz marad. De lekopogom most elvileg sikerült betöltenem az adatot az egyik kissebb vállalatnál problémamentesen. Minden a helyén maradt.
A következő 3 vállalatot amiben jelentősen több az adat a holnapi nap próbálom meg átemelni.
Nem kompatibilis adat előfordulhat, találkoztam már olyannal hogy nem lehet null érték az adott fieldben, mégis az volt ott, de hogy hogyan...fogalmam sincs, a lényeg hogy a kiexportált adatot már nem lehetett újra visszatölteni a táblába.
De a memória elfogyásra nincs ötletem, remélem most hogy csak a NAV oldalról módosult (SQL schema szerint nem) táblákat rakom át így működik majd a dolog.
-
sztanozs
veterán
-
haxiboy
veterán
Sziasztok!
A következő problémával fordulnék hozzátok.Adott két MSSQL Adatbázis ahol a táblák sémája megegyezik, sajnos program oldalról módosítanom kell néhány dolgot ami a program szemszögéből (Dynamics NAV) adatvesztéssel járna, így ez csak akkor lehetséges ha a módosítandó táblák üresek.
Amit szeretnék:
2 azonos adatbázis, az egyikből kitörlöm a táblák tartalmát, elvégzem a módosításokat, majd a másikból visszatöltöm (tábla szinten a schema nem változik így elvileg vissza kell mennie).
Jelenleg SSIS-el próbálkozok, ahol kénytelen vagyok táblánként megmondani neki hogy a timestamp mezőt ne vegye figyelembe, hiába van identity insert bekapcsolva, a validációig nem jut el.Így látszólag működik is egy darabig, viszont vannak tartalmilag nagyon nagy táblák, amiknél nem megy be a végső commit, tudom valahogy állítani hogy hány rekordonként töltse fel a táblákat (feltételezem egyszerre akarja az egészet és elfogy a memória).
Előre is köszi!
-
Roley_05
csendes tag
a
-
Ablakos
addikt
Linkekkel tudna valaki segíteni adattárházi technikában? Konkrétan a dimenziós tábla, historizálás, ténytábla, delta adatátadás technika érdekelne. Egyetemi jegyzet, vagy egyéb magyarul olvasható forrást szeretnék.
-
bpx
őstag
-
Apollo17hu
őstag
-
elBrigi
csendes tag
Sziasztok!
egy kész adattábla egyik oszlopnevét szeretném átnevezni postgresql-ben a következő paranccsal:
ALTER TABLE Tantargy CHANGE Name Megnevezes varchar(20);
..de a 'CHANGE' kulcsszóra visít. Mi lehet a baj? Egyáltalán lehetséges létező oszlop nevét átírni? -
sztanozs
veterán
-
bandi0000
nagyúr
-
tm5
tag
-
sztanozs
veterán
-
bandi0000
nagyúr
Ha emlékeztek volt ez a kérdésem, amire az IN-t javasoltátok
Sajnos nem jó, mert ha megadok pl 3 elemet a tömbben, akkor nem azokat adja vissza amibe mind3 van, hanem azokat amibe legalább az egyik, és így értelemszerűen nekem nem jó, lehet erre valami más megoldás?
Én még arra gondoltam, hogy beágyazott selecttel kellene kiszedni ezeket az innel, aztán megszámolni, hogy meg van e az eredmény annyi, mint ami a tömbnek a nagysága, viszont ezt nem tudom hogy kellene kivitelezni
-
Fecogame
veterán
Security hibákat is foltoz az új verzió:
phpMyAdmin 4.9.1 -
bandi0000
nagyúr
Az mennyire rossz megoldás, ha 2 tábla összatortozik, de mégse kapcsolnám össze az adatbázisba, csak a lekérdezésekbe?
A lényeg hogy van 2 tábla, első azonosítója van a másodikban, viszont az első táblát időnként frissíteném, és úgy a legegyszerűbb ha kitörlök mindent és visszarakom, az ID nem változik, viszont ha összakapcsolom őket, akkor nem engedi törölni az adatbázisból
Új hozzászólás Aktív témák
-
4400 - 4301
6041 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
- sziku69: Fűzzük össze a szavakat :)
- Battlefield 6
- Garmin topik
- Háztartási gépek
- Melyik tápegységet vegyem?
- Évekre előre elszipkázzák az adattárolókat az AI adatközpontok
- Amlogic S905, S912 processzoros készülékek
- Samsung Galaxy A37 – régi ismerős új formában
- Nyolcmagos CPU-val és 32 GB RAM-mal is munkára fogható az MSI egykártyás gépe
- CADA, Polymobil, és más építőkockák
- További aktív témák...
- Apple iPhone 14 Pro 128gb - Jó állapot, akku 100%, tokkal és fóliával, akár beszámítással
- Samsung Galaxy S26 Ultra 12/256gb Cobalt Violet - Új, bontatlan, garanciális, akár beszámítással
- Apple iPhone 16 128gb - Makulátlan, akku 100%, garanciális, tokkal, akár beszámításal
- 4 FAJTA (Május) DELL Latitude Laptop Tartós-Golyóálló-AKÁR SULIBA 7320 7430 7440 5320 5420 5430
- NEW! Bontatlan Lenovo Thinkpad T14 G6 Tartós Üzleti Laptop 14" -40% Ultra 7 255U 16/512 FHD+ Magyar!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- AKCIÓ! Dell Latitude 3430 üzleti notebook - i5 1235U 8GB DDR4 512GB SSD Intel Iris Xe WIN11
- Lenovo ThinkPad T14s Gen 6 Ryzen AI 7 PRO 350W Radeon 860M 32 GB RAM 7500 MT/s 512 GB 3év gar
- Bomba ár! HP EliteBook 8440P - i5-520M I 4GB I 250GB I DVDRW I 14" HD I Cam I Garancia!
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

újraindítottam a linuxot, és be tudtam lépni.





