Nem fut le az SQL parancsot tartalmazó batch fájl
2022-07-02T21:20:41+02:00
2022-07-03T11:45:26+02:00
2022-08-12T09:41:49+02:00
splash05
Oracle SQL Developert használok és ezen videó alapján ( https://www.youtube.com/watch?v=LVpzDoCWi1I ) készítettem egy egyszerű batch fájlt ami tartalmaz egy sqlcmd parancsot, ami így néz ki:

SQLCMD -S {szervernév} -d {adatbázisnév} -E -Q "select * from {táblanév};" -s "," -o ""C:\test.csv"

Nyilván a kapcsoszárójelek között az adott céges szervernév/adatbázisnév/táblanév szerepel, ez teljesen mindegy, a lényeg, hogy a sor szintaktikája jó.
VPN-en csatlakozom a céges hálózathoz és mint írtam Oracle SQL Developert használok.

Célom az lenne, hogy a batch fájl futtatásával lementsem csv-be ezt a query-t. 

De fogalmam sincs miért nem működik miközben a videóban teljesen jól generálja a batch a csv-t. 

Tudnátok ebben segíteni?
Köszi szépen.
Mutasd a teljes hozzászólást!

  • De fogalmam sincs miért nem működik

    Másnak se, miután még azt sem írtad meg, hogy milyen hibaüzenetet kapsz, vagy mi az ameddig eljutnak a dolgok és mi az ami nem egy. Ehhez képest az, hogy akár az IP is lehet rossz, lehet hogy VPN-en keresztül nem érhető el a szerver, vagy hogy nem magyaráztad meg, hogy ha Oracle SQL Developer-t használsz, akkor miért Microsoft SQL Server segédprogramot (SQLCMD) akarsz futtatni, illetve egyáltalán milyen típusú az adatbáziszerver amit el akarsz érni, vagy hogy a videóban Microsoft SQL Server Management Studio van, nem Oracle SQL Developer - ami még érthetetlenebbé teszi, hogy mi köze annak amit te csinálsz ezekhez - már csak ráadás.
    Mutasd a teljes hozzászólást!
  • Semmi hibaüzenetet nem kapok, csupán nem keletkezik a fájl.

    Ja de akkor így világos. Tehát a Developer nem támogatja az sqlcmd-t.
    Linux szerveren van az adatbázis és én Developer-en keresztül kapcsolódom.
    Esetleg hasonló megoldás van SQL Developerben, amivel egy hasonló sqlcmd sort tartalmazó batch fájlt futtatva le tudom menteni a lekérdezés eredményét csv-be?
    Mutasd a teljes hozzászólást!
  • Az SqlDeveloper egy GUI eszköz, a batch műveletekhez az Sqlplus.exe lenne jobb.
    SQL*Plus Quick Start
    Mutasd a teljes hozzászólást!
  • Szia,

    Vegyük végig, ha jól értem:
    - van egy géped amin Windows fut
    - van egy céges Linux szerver amin fut egy MSSQL adatbázis
    - van egy Oracle SQL Developer programod, amivel eléred VNP kapcsolaton keresztül az adatbázis szervert, be is tudsz rá lépni, le is fut a lekérdezésed hiba nélkül.

    A problémád az, hogy szeretnéd az SQL Developerben használt már működő lekérdezésed eredményét az sqlcmd utility program használatával lementeni a gépedre egy csv állományba.

    Én a következőt csinálnám:
     - nyitnék egy parancssor ablakot (cmd.exe)
     - egy telnet parancs segítségével ellenőrizném, hogy elérem-e a szerver gépet ( telnet szervernév szerver_port , ha nem oldódna fel a szervernévre, akkor a szerver IP címére próbálnám)
     - ha működik a telnet kapcsolat, akkor bepötyögném a parancssor ablakba a sqlcmd parancsot felparaméterezve és futtatnám. Az sqlcmd program elvileg kiírja a képernyőre a futás sikerességét/sikertelenségét.

    Tehát a Developer nem támogatja az sqlcmd-t.

    Ennek így nincs köze egymáshoz. Nagyon leegyszerűsítve az SQL Developer egy grafikus felülettel rendelkező program, amivel adatbázisokhoz tudsz csatlakozni és ott lekérdezéseket végrehajtani, az sqlcmd meg egy grafikus felület nélküli parancssori megoldás.
    Mutasd a teljes hozzászólást!
abcd