- EAFC 24
- GTA VI
- PlayStation 5
- Hosszú idő után újabb előzetest kapott a Gothic Remake
- Hivatalosan is bemutatkozott a Kingdom Come Deliverance 2
- Rövid teaser trailert kapott a Dragon Age: Dreadwolf
- Alkoholista nevelde
- Nintendo Switch
- Teljes verziós, ingyenes mobil játékok és alkalmazások
- PlayerUnknown’s Battlegrounds
Új hozzászólás Aktív témák
-
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
Xbox One: bandymnc
-
Fecogame
veterán
Security hibákat is foltoz az új verzió:
phpMyAdmin 4.9.1Lassú a mobilinterneted? 4G/LTE antennák, közvetlenül raktárról ---> http://bit.ly/LTE_Antennak
-
bandi0000
nagyúr
válasz bandi0000 #4284 üzenetére
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
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz sztanozs #4305 üzenetére
Nem 1 mezőben van, hanem több a többhöz kapcsolat, és ugye van egy join tábla
De amúgy rájöttem, kicsit túlgondoltam
tm5: Hasonlóan csináltam meg, de nem kellett belső select, csak Gruop By és Having, és ha Having count annyi mint a tömb mérete, akkor visszajönXbox One: bandymnc
-
elBrigi
friss újonc
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? -
Ablakos
őstag
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.
-
Roley_05
csendes tag
a
[ Szerkesztve ]
-
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!
Premium Mining Rigek és Gamer/Workstation gépek: tőlem, nektek :)
-
-
haxiboy
veterán
válasz sztanozs #4315 üzenetére
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.
Premium Mining Rigek és Gamer/Workstation gépek: tőlem, nektek :)
-
sztanozs
veterán
válasz haxiboy #4316 üzenetére
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?JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
haxiboy
veterán
válasz sztanozs #4317 üzenetére
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.
Premium Mining Rigek és Gamer/Workstation gépek: tőlem, nektek :)
-
haxiboy
veterán
válasz sztanozs #4319 üzenetére
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.Premium Mining Rigek és Gamer/Workstation gépek: tőlem, nektek :)
-
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_admins
Elszáll ezzel a hibával:
ERROR 1054 (42S22) at line 1: Unknown column 'site_admins' in 'where clause'
Mit csinálok rosszul?
[ Szerkesztve ]
Lassú a mobilinterneted? 4G/LTE antennák, közvetlenül raktárról ---> http://bit.ly/LTE_Antennak
-
rikxjeee
tag
"Amit keresek az oszlopban: site_admins"
Amit keresel az oszlopban egy string, nem egy másik oszlop.
[ Szerkesztve ]
-
Fecogame
veterán
válasz Fecogame #4321 üzenetére
És meg is lett a megoldás Dupla idézőjelek közé kellett tenni a "site_admins" értéket, vagyis a helyes parancs az alábbi:
SELECT meta_value FROM wp_sitemeta WHERE meta_key = "site_admins"
rikxjeee: Jogos, nem értek SQL nyelven
[ Szerkesztve ]
Lassú a mobilinterneted? 4G/LTE antennák, közvetlenül raktárról ---> http://bit.ly/LTE_Antennak
-
zolynet
addikt
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á.Life is too short to stay stock!
-
zolynet
addikt
Köszi.
Mondjuk még így sem fogja fel az agyam hogy miért kellett.
Mert a ha pl a györi plédát vesszük
akkor a
SUBSTR(name,5,INSTR(name,',')) ---> substr(name,5,10) lenne, azaz 5 és 10 közé eső karaktert adja vissza, vagy nagyon nem jól fogom fel ezt az igen egyszerű dolgot.Life is too short to stay stock!
-
tm5
tag
válasz zolynet #4326 üzenetére
Kb. minden SQL dialektusban, a 2. szám az a hossz, nem az "-ig" : [pl. MySQL ]
-
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. -
Male
nagyúr
válasz sztanozs #4331 üzenetére
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 ).
-
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.Én kérek elnézést!
-
Male
nagyúr
válasz martonx #4333 üzenetére
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.) -
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.[ Szerkesztve ]
-
Ablakos
őstag
válasz Apollo17hu #4335 üzenetére
Windowsban az oracleXe telepítés mondhatni triviális. Még default sémát is kapsz. Feltöltve minta rekordokkal.
-
updog
senior tag
válasz Apollo17hu #4335 üzenetére
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
[ Szerkesztve ]
"Bocs, főnök, de én csak két emberben bízom. Az egyik én vagyok. Nem maga a másik." || "Hóhahó, mégis van graffaló!"
-
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?
[ Szerkesztve ]
-
updog
senior tag
válasz Apollo17hu #4338 üzenetére
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
[ Szerkesztve ]
"Bocs, főnök, de én csak két emberben bízom. Az egyik én vagyok. Nem maga a másik." || "Hóhahó, mégis van graffaló!"
-
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.
-
bpx
őstag
válasz Apollo17hu #4340 üzenetére
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.[ Szerkesztve ]
-
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.
-
martonx
veterán
Ivagy elengeded az Oracle-t és feldobsz egy mssql-t vagy MySql-t vagy postqresql-t.
Én kérek elnézést!
-
bpx
őstag
válasz Apollo17hu #4342 üzenetére
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.
-
Ablakos
őstag
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.
-
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.
-
Petya25
addikt
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?
Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
Jim74
nagyúr
válasz sztanozs #4349 üzenetére
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 #tmp
Ha butaságot kérdeztem, akkor elnézést kérek
[ Szerkesztve ]
Új hozzászólás Aktív témák
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5