ODBC elérés szerverek között vagy... (?)
2012-04-25T10:26:49+02:00
2012-05-04T14:58:06+02:00
2022-07-24T02:37:28+02:00
  • Igen, úgy néz ki, hogy Vista vagy újabb verziótól van SymLink. Junction és Hard link ugyan van (ezeket az NTFS nagyon rég támogatja), de ezek nem működnek hálózaton.

    Akkor sajnos marad a frissítés Windows Server 2008-ra (a 2003-as egyébként 2015-ig van támogatva, így előbb-utóbb meg kell lépni) vagy marad a B-terv.

    (Egyébként így lehet létrehozni parancssorból.)
    Mutasd a teljes hozzászólást!
  • Így történt.
    MIvel a rendszergazdánk csinálta, ezért neki minden szerverhez/könyvtárhoz/fájlhoz hozzáférése van. Így ezzel tuti nincs probléma. Valószínű, hogy inkább a winserver 2003-mal lehet gond. Win7 alatt egyébként nekem is tökéletesen működik.
    Mutasd a teljes hozzászólást!
  • Gondolom evidens, de megemlítem, hogy megosztásnál figyelni kell a megosztási jogokra és a file-hozzáférési jogokra is. Egy könyvtárat hiába osztasz meg, ha a benne levő file-ok hozzáférési joga (ACL) nem teszi lehetővé a file hozzáférést.

    Tehát kezdetnek kéne egy Windows share, amely biztosan olvasható a másik gépen, SymLink nélkül stb.

    Far Manager-rel elmész a megosztás nevére (cd \gepnev\megosztas működik), ALT + F6 -> Link type: symbolic link (folder), és a másik panelen már létre is jött a könyvtár, ami valójában a megosztásra mutat. Rendszergazdai jog kell hozzá.

    Én egy Win7 és Win8 CP között teszteltem.

    Miután ez működik, ugyanezt el kéne játszani a NAS-megosztással. Fontos, hogy a megosztás SymLink nélkül is működjön! Ha már ott hozzáférési problémák vannak, azok megmaradnak.
    Mutasd a teljes hozzászólást!
  • Szia!

    Már mi is gondoltunk rá, hogy létrehozunk egy új access fájlt amibe becsatoljuk a használni kívánt adatbázisfájl tábláit. De ez ODBC-n keresztül nem működik. Ha a webszerver nem látja az eredeti fájl-t, akkor nem működik ez a megoldás.
    Már azt is kipróbáltuk, hogy egy másik linux-os gépen (amin teljes értékü linux van, nem csak busybox) beizzítani az ODBC-t és alá az Access driver-t, de az meg az ékezetes tábla és mezőnevek miatt halt le. Az ékezeteket nem én követtem el!!!
    Nekem az is jó lenne, ha az ékezetes problémára találnék megoldást, de persze ez egy másik topic témája lenne.
    Mutasd a teljes hozzászólást!
  • Értem. Akárhogy nézem, a SymLink-es megoldás valóban a legegyszerűbb, ha működik (sajnos ezt garantálni nem lehet, ki kell próbálni).

    Másodlagos megoldásként (B-terv) be lehet állítani az IIS-t, hogy ugyanolyan funkcionalitást nyújtson, mint a XAMPP (ez utóbbit nyilván egyszerűbb használni, de a szükség az szükség), elvégre egy web szerverről beszélünk. Az IIS pedig onnan dolgozik, ahonnan mondod neki, nincs ilyen limitáció, mint a XAMPP-ban.

    De maradjunk az első verziónál.

    Először is mindenképpen azt ajánlanám, hogy két hálózatba kötött Windows között hozzatok létre egy SymLinket (ezt meg lehet tenni, kipróbáltam; írtam is bele, és megnéztem, hogy a túloldalon rendben működik, tehát a távoli gép megosztásán létrejött a file).

    Amíg ez nem sikerül, nem érdemes bonyolítani a képletet a NAS-sal.
    Mutasd a teljes hozzászólást!
  • Meghajtóként be lehet csatolni a fájlszerver mappáit, viszont a webkiszolgáló nem bírja értelmezni a hálózati meghajtót


    Fapados, de:
    Csatoljátok be a mappáit, de ne a webszerver könyvtárába, hanem bárhova máshova.
    Ezután vagy készítetek egy access file-t a webszerver könyvtárába amit csatolt táblákat létrehozhattok az eredeti fájlból vagy SQL Szerverrel belinkelitek az Access fájlt és az SQL szerveren keresztül éritek el.
    Mutasd a teljes hozzászólást!
  • Sajnos a webkiszolgálóig el sem jutottunk, mert már a Windows-os gépen sem tudtunk belépni a belinkelt mappába.

    A felállás a következő:

    Van egy NAS-unk. Ezt használjuk fájl szervernek. Ezen vannak az elérendő fájlok és az ominózus *.mdb fájl. Ezen Busybox op rendszer van, amit a Synology a saját kedvére átalakított, így hiába van rajta alapból webkiszolgáló, nem lehet rá tenni odbc-t.

    Van egy Windows Server 2003 R2-es op. rendszerrel bíró szerverünk. Erre telepítettünk egy xampp-ot. Ez lenne a webkiszolgáló is (mivel ez egyfolytában megy és Windows lévén nem lenne neki nagy megerőltetés az ODBC Access driverrel).

    De amíg a linux-on (busybox) mindent be tudnánk mountolni, nem tudunk odbc-t használni, addig a Win szerveren megy az odbc, de nem érjük el az áhított mdb fájlt a linuxos szerveren. Meghajtóként be lehet csatolni a fájlszerver mappáit, viszont a webkiszolgáló nem bírja értelmezni a hálózati meghajtót (csak a (al)mappákat érti a kis buta). Sakk-matt.
    Mutasd a teljes hozzászólást!
  • Picit kevés információt adtál meg (pl. melyik IIS verziót használjátok egyáltalán). De amennyiben jogosultsági gond van, azt nyilván le kell nyomozni, és fel kell oldani.

    Az IIS-en futó web application nem feltétlenül rendszergazda jogokkal fut (sőt, nagy hiba lenne, ha így lenne), tehát előfordulhat, hogy a SymLink működik a Rendszergazdának, de a web app már nem fér hozzá, hiszen ő limitált jogokkal rendelkezik.

    NevemTeve kollégára is érdemes figyelni. Eleve nem tiszta, mi fut azon a Linux szerveren, amit ne lehetne áttenni a Windows szerverre.

    PHP? Az megy. Access? Megy. Web szerver? Megy. Szóval miért is kell egyáltalán Linux?
    Mutasd a teljes hozzászólást!
  • Helló!

    Bocs'! A Far Manager-t benéztem. Kipróbáltuk. A Funkció működik is, de...
    Az így becsatolt mappa ugyan megjelenik a kívánt helyen, de a mappához nem fér hozzá a rendszer. Mintha a jogokkal lenne gond. De mivel ezt rendszergazda jogokkal próbáltuk nem valószínű, hogy ezzel lenne a baj. Érdekes, hogy már ugyanazon a gépen levő mappák becsatolásánál sem működik a Symbolic link, ez pedig a junction-nal és a hard link-kel simán megy.
    Nem találunk semmi paraméterezési lehetőséget a symbolic link-hez, így fogalmunk sincs mi lehet a hiba. Erre van ötleted?
    Mutasd a teljes hozzászólást!
  • Ezt most egy kicsit lassabban: mi köze a MDB fájlnak a webszerverhez?
    Mutasd a teljes hozzászólást!
  • Ne csináld már: még javasoltam is programot, amivel egyszerűen megoldható a feladat.

    Használj Far Manager-t, ALT + F6, ott pedig SymLinket válaszd ki, mert a Junction és a Hard link nem működik hálózaton.

    De tuti, hogy egy rakat más program is tudja ezt, sőt valószínűleg parancssorból is létre lehet hozni.
    Mutasd a teljes hozzászólást!
  • Helló!

    Ha jól értem, akkor a CreateSymbolicLink function használatához írni kellene egy programot (C-ben?) és azt futtatva valósulna meg a csatolás?
    Mutasd a teljes hozzászólást!
  • Ez így van, ha mindenképpen mappaként van rá szükség, SymLink a barátotok. Junction és Hard link nem működik így.

    Ezek után ugyan kérdéses, hogy azt vajon látni fogja-e a programotok, de hát ki kell próbálni.

    De SymLink-kel biztosan fel lehet csatolni mappaként egy megosztást: mint írtam, kipróbáltam (bár két Win között).

    Ha nem megy, írj!

    Üdv
    Mutasd a teljes hozzászólást!
  • Szia!

    Ezt nem ismerem. De a rendszergazdánk már azt állítja, hogy a windows-ban nem lehet MAPPA-ként becsatolni hálózati megosztásokat csak hálózati meghajtóként. Ezt meg a webkiszolgáló nem látja.

    Holnap kipróbáljuk a Symbolic link-et.
    Köszi!
    Mutasd a teljes hozzászólást!
  • Szia!

    MEgosztást sikerült mountolni, mint meghajtó. De nekem mint mappa kellene. A windows-os webkiszolgáló egyik mappájába kellene almappaként mountolni, hogy az ODBC connection string-ben tudjak rá hivatkozni.
    Mutasd a teljes hozzászólást!
  • Symbolic link.

    Most próbáltam ki, hogy nehogy hülyeséget mondjak, gond nélkül működik helyi hálózaton.

    Én Far Manager-rel hoztam létre (ALT + F6).

    De egy Linuxos Samba share csatolásához még ez sem kell, simán jobb gomb -> Map network drive...-nak is működnie kéne. (Most látom, hogy NevemTeve is mondta, bocs.)
    Mutasd a teljes hozzászólást!
  • Samba megosztást sikerült Windows-ban mountolni (NET USE)? Ha igen, miért nem?
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Sajnos nem működik a Junction, mert a hálózati becsatolást nem támogatja. Nekem egy másik szerveren (de lokális hálózaton) lévő mappát kellene látnom a webkiszolgáló gyökeréből.
    Esetleg valakinek más ötlete?
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    OK! Kipróbáljuk a Junction-t. Sajnos a Hardlink valamiért nem működött (lefagyott tőle az explorer ). Ezért most a linux ODBC (Access driver) felélesztésével próbálkozunk.

    Most itt tartunk:
    A linux szerverre telepítettük az mdbtools-t (ezzel már van Access driverünk az ODBC alá) és már parancssorból elérjük az Access adatbázis fájlt.
    Már PHP-ből is kezd éledezni a dolog, de az ékezetet tartalmazó táblanevekkel és mezőnevekkel nem tudok mit kezdeni. Valószínű ezt nem tudja átvinni az ODBC. Az ékezet nélküli lekérdezések ékezetes eredményeit viszont simán meg tudom jeleníteni. De a lekérdezésben nem lehet ékezet, mert az alábbi hibaüzenetet kapom:
    Warning: odbc_fetch_row(): No tuples available at this result index

    Próbálkozom, de lehet, hogy a végén mégis a Junction lesz a megoldás, mert a WIN szerveren tökéletesen működik az ODBC.
    Köszi a javaslatokat!

    Az Access-el kapcsolatos ellenérzésekkel én is tudok azonosulni. Főleg, miután kényszerből már napok óta ezzel a kérdéssel szívok. Itt van lokálisan minden, mégsem tudom áthidalni a problémát.
    Mutasd a teljes hozzászólást!
  • Az megint egy másik kérdés, hogy az access ez emberiesség elleni főbűnök egyike


    Azért vannak feladatok, amire pont megfelel.
    Persze ha arra célzol, hogy nem nevezhető adatbázis kezelőnek, akkor azzal részben tudok azonosulni
    Mutasd a teljes hozzászólást!
  • Az odbc csak egy adatbázis-kapcsolati felület. Saját magától soha nem tud access mdb-t kezelni. Windowson azért tud, mert ott az oprendszer része az access kezelés és van hozzá beépített odbc driver is. Linuxos programmal nemigen fogsz access adatbázist kezelni, mivel - legalábbis tudtommal - nem létezik linuxos access mdb-t kezelni tudó adatbáziskezelő.

    A windowsnak viszont elvileg nem lehet gond elérnie a linuxos fájlszerveren lévő fájlokat, ha van samba szerver a linuxodon, és a windowsban van hard link. Azt mondjuk nem tudom, hogy hálózati drive-ra műxik-e.


    Az megint egy másik kérdés, hogy az access ez emberiesség elleni főbűnök egyike, és keresztbe kellett volna egész tarajos sül családot kakilnia annak aki kitalálta. Én is ezzel szívok, bár nekem nem az a bajom vele hogy nem tudom kezelni
    Mutasd a teljes hozzászólást!
  • Mappát tudsz belinkelni másik mappa alá.
    Igen, pl becsatolni mappát a webkiszolgáló gyökér mappájába.
    Mutasd a teljes hozzászólást!
  • Helló!

    Mit is lehet ezzel csinálni? pl becsatolni könyvtárakat a webkiszolgáló gyökerébe?
    A subst-ot és a hardlinket már próbáltuk (sikertelenül).
    Mutasd a teljes hozzászólást!
  • Elméletileg a Junction erre jó. Próbáld ki.
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Netes infó hiányában fordulok hozzátok, hátha...
    Adottak a következők:
    - WINDOWS-os szerver webkiszolgálóval,
    - LINUX fájlszerver webkiszolgálóval.
    Mindkét szerver egy belső hálózaton van.
    Feladat: webes alkalmazást szeretnék készíteni (php), amiben használnom kell a linux fájlszerveren lévő fájlokat és a rajta lévő MS ACCESS adatbázis fájlt.
    Állapot:
    A WIN szerveren tökéletesen működik az ODBC, de nem tudjuk becsatolni webkiszolgáló alá a MS ACCESS adatbázis fájlt is tartalmazó mappát (amit a webkiszolgáló lokálismappaként tudna használni).
    A LINUX fájlszerveren bármit bármi alá be tudunk csatolni, de ezen nem tudjuk életre kelteni az ODBC Microsoft Access Driver-t.
    Az WIN szerverről az ODBC connection string-jében nem tudunk hivatkozni a Linux szerveren lévő *.mdb fájlra. (Érvénytelen fájlnév hibaüzenet).
    Van ötletetek a probléma megoldására akár mindkét szerver, akár csak a windows-os, akár csak a Linux-os szerver felhasználásával?
    Próbálkozások: windows-os webkiszolgáló alá becsatolni a linux-os szerver adott mappáját (subst parancs és társai). Eddig sikertelen.
    unixODBC és mindenféle Access Driver és mdbtools nyüstölése a cél érdekében. Eddig sikertelenül.
    Valakinek valami ötlete?
    Előre is köszönöm!
    Mutasd a teljes hozzászólást!
abcd