Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Shark20 00:18
 » Demo 00:15
 » rarek 00:09
 » buddookan 00:03
 » bagi_glog 00:02
 » metacom 23:59
 » ManiusNG 23:56
 » CiAsTeK 23:29
 » Zibi 23:22
 » burz 23:22
 » @GUTEK@ 23:21
 » Bati 23:21
 » Fl@sh 23:13
 » b0b3r 23:08
 » rooter666 23:08
 » past 23:07
 » Piwomir 23:06
 » fiskomp 22:57
 » GLI 22:57
 » Kenny 22:56

 Dzisiaj przeczytano
 41139 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

insert MSSQL 2008 , Glock19 22/05/13 13:00
mam problem z dodawaniem do bazy CDN.Optima
Chce dodać z poziomu PHP (Serwer Linux Debian FreeTDS 8.2)
Wartość do bazy w MSSQL 2008 R2

wartości są ok bo jak skopiuje sobie inserta i wkleje w managment studio to dodaje wartość do bazy.

http://pastebin.com/daPHedhA

  1. Nikt tu nie jest wróżką. , Tig3r 22/05/13 13:23
    Może zacznij od sprawdzenia co się serwerowi nie podoba:
    http://php.net/...ction.mssql-get-last-message.php

    1. no nic nie zwraca , Glock19 22/05/13 13:38
      .....

      1. a COMMIT robisz? , bwana 22/05/13 13:46
        bo może w tym problem - wstawiasz, nie masz komunikatu o błędzie ale rekordu w bazie też nie - bo wstawiłeś, nie zrobiłeś COMMIT-a i przerwałeś sesję.

        "you don't need your smile when I cut
        your throat"

        1. to chyba nie to , Glock19 22/05/13 14:04
          http://www.shotdev.com/...in-tran-commit-rollback/

          Skorzystałem dla przykładu z tego jeszcze.
          i to samo.

          1. może nie, ale w Twoim kodzie nie widzę nigdzie wykonania COMMIT , bwana 22/05/13 14:17
            jeśli rozpoczynasz transakcję (jawnie lub nie - czyli BEGIN TRAN albo po prostu dowolny DML) to żeby jej wyniki zostały zapisane w bazie, COMMIT trzeba wykonać (chyba że w MS SQL takie niejawne transakcje są autocommitowane, w co wątpię, ale się nie znam).

            "you don't need your smile when I cut
            your throat"

            1. Niekoniecznie. IMHO w standardzie jest ze albo zaczynasz beginem a potem , ptoki 22/05/13 14:37
              robisz commit czy rollback po kilku DML-ach albo begin i commit są zakładane domyslnie dla każdego DML-a osobno.

              1. To zależy:-D , bwana 22/05/13 16:17
                http://stackoverflow.com/...-an-sql-server-session

                zależy od ustawienia zmiennej bazy/ zmiennej sesji o nazwie IMPLICIT_TRANSACTIONS

                Jeśli IMPLICIT_TRANSACTIONS jest ON (domyślnie) to trzeba commitować. Jeśli OFF - każdy DML jest wykonywany nietransakcyjnie (automatycznie zacommitowany - jakże brzydko to słowo wygląda:-D)

                "you don't need your smile when I cut
                your throat"

              2. Ale ogólnie się nie spieram, bo na MS SQL po prostu się nie znam , bwana 22/05/13 16:19
                Niemniej jeśli brak wyjatku z API w PHP, brak błędu zwróconego przez bazę i brak rekordu w bazie - to brak commit-a to pierwsze co się nasuwa, nie?;-D

                "you don't need your smile when I cut
                your throat"

                1. Oczywiście. Ale z tego ci posał Glock19 nie wynikało że nie ma błędów. , ptoki 23/05/13 08:25
                  Nie raz miałem kod który nie miał poprawnej obsługi błędów i sie drapałem po głowie co sie dzieje.
                  W ten jego kod inicjalnie nie zagląłem.
                  Ale jak select w takim kodzie działa to i insert powinien chyba że insert ma w sobie selecta który nic nie zwraca :)

                  A co do ustawienia tej zmiennej to IMHO dziwne było by gdyby domyślnie było ustawione na ręczny commit. Takie jakieś nienormalne :)

      2. To może zacznij po kolei. , Tig3r 22/05/13 14:23
        1. Sprawdź czy rzeczywiście nawiązujesz połączenie.
        2. Sprawdź czy możesz zrobić jakiegoś SELECTa.
        3. Sprawdź uprawnienia dla użytkownika. To że użytkownik user@localhost coś może to nie znaczy że user@drugamaszyna może to samo.
        4. Sprawdź czy możesz zrobić insert pojedynczego pola.

        BTW zarówno MSSQL jak i CDN na pewno oferują support do swoich produktów. Zapytaj ich :)

        1. No i poczytaj hinty tutaj: , Tig3r 22/05/13 14:27
          http://php.net/manual/pl/ref.mssql.php

  2. znalazłem , Glock19 22/05/13 14:31
    SET ANSI_NULLS ON
    SET ANSI_PADDING ON
    SET ANSI_WARNINGS ON
    SET ARITHABORT ON
    SET CONCAT_NULL_YIELDS_NULL ON
    SET QUOTED_IDENTIFIER ON
    SET NUMERIC_ROUNDABORT OFF

  3. i czym to poskutkowało? , bwana 22/05/13 16:25
    - wstawia się rekord?
    - nie wstawia się rekord, ale zobaczyłeś komunikat o błędzie?

    "you don't need your smile when I cut
    your throat"

    1. rekord wstawia sie poprawnie , Glock19 22/05/13 22:26
      jw......

  4. na przyszłość zapodaj budowę tabeli , Tomasz 22/05/13 20:17
    to ci powiemy czemu ten Insert nie działa. Nie każdy ma pod ręką CDN.Optima

    https://www.siepomaga.pl/milosz-mosko

    1. pisałem ze insert , Glock19 22/05/13 22:25
      wklepany w managment studio działał poprawnie

      1. w tym wypadku PHP zachowało się bardziej jak ODBC podczas połączenia , Tomasz 23/05/13 02:37
        (takie opcje można w ODBC ustawić) podczas gdy np. C# w którym podaje się bezpośrednio connection string przyjmuje powyższe z konfiguracji serwera. Ciekawe.

        https://www.siepomaga.pl/milosz-mosko

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL