• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

niedziałający exec

Object Storage Arubacloud
–1 głos
132 wizyt
pytanie zadane 2 sierpnia 2019 w Python przez marcinconn Obywatel (1,560 p.)
Witam,

Jaki może być powód, że posyłając polecenie w postaci (EXEC ....) działania typu INSERT, DELETE, UPDATE nie działają(błędu nie wywala, ale zmian nie ma), ale posyłając polecenie jako (UPDATE .../ INSERT.....) wszystko działa i zmienia się poprawnie?

Używam Pythona 3.7
komentarz 2 sierpnia 2019 przez adrian17 Ekspert (346,840 p.)
To raczej nie ma związku z Pythonem, ale z bazą danych; jaką używasz bazę, jak robisz te zapytania?
komentarz 2 sierpnia 2019 przez marcinconn Obywatel (1,560 p.)
tzn?
komentarz 2 sierpnia 2019 przez adrian17 Ekspert (346,840 p.)
No, wysyłasz zapytania do bazy danych, tak? Co to za baza danych?

Używasz Pythona - jak wygląda Twój kod Pythona wysyłający te zapytania INSERT etc?
komentarz 2 sierpnia 2019 przez marcinconn Obywatel (1,560 p.)

SQL Server

polecenie = "INSERT INTO...." / UPDATE podobnie

def PolaczSQL3(self, polecenie):
    try:
            try:
                conn = pyodbc.connect(
                    "Driver={ODBC Driver 11 for SQL Server};"
                    "Server=srv;"
                    "Database=db;"
                    "Trusted_Connection=yes;"
                )
            except:
                wx.MessageBox(u'Błąd w połaczeniu do bazy przez ODBC ' + 'Informacja')
                return ('NOCON',)

            hand = conn.cursor()
            #print("PRZED")
            hand.execute(polecenie)
            conn.commit()
            #jak wysypie się exec to nie wyświetli "PO"
            #print("PO")

    except:  # działanie zastępcze  jeżeli wystąpi błąd w połączeniu ODBC
            info = u'Problem z exec '
            # print info
            wx.MessageBox(info, 'Informacja')
            return ('NOCON',)

 

komentarz 2 sierpnia 2019 przez adrian17 Ekspert (346,840 p.)
OK, czyli SQL Server po standardowym interfejsie Pythonowym.

A do czego potrzebujesz EXEC? Dasz przykład zapytania jakie chcesz zrobić z nim? Masz tam jakiś stored procedure?
komentarz 2 sierpnia 2019 przez marcinconn Obywatel (1,560 p.)
mam, od groma w sumie. Przy Pythonie 2.6 wszystko działało bez problemu
komentarz 2 sierpnia 2019 przez adrian17 Ekspert (346,840 p.)
Ale bez konkretów nic ciekawego nie jestem w stanie wywnioskować ani powiedzieć :/

(Bardziej bym strzelał że to może mieć związek z wersją pyodbc, ale Pythona...? Trudno uwierzyć. )
komentarz 2 sierpnia 2019 przez marcinconn Obywatel (1,560 p.)
Dziwne jest to, że działa exec, ale tylko ten co sam SELECT robi. Inne nie :/

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 446 wizyt
0 głosów
1 odpowiedź 283 wizyt
pytanie zadane 20 czerwca 2020 w C i C++ przez Oskardes Użytkownik (600 p.)
0 głosów
1 odpowiedź 725 wizyt
pytanie zadane 30 listopada 2018 w C i C++ przez periedynek Obywatel (1,320 p.)

92,757 zapytań

141,679 odpowiedzi

320,437 komentarzy

62,101 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...