Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Microsoft SQL Server / MSDE _ Blokada dostepu do serwera po INSERT

Napisany przez: karol2005 9.06.2017, 11:12:09

Wysłam w pętli na zewnetrzny serwer MS SQL 2005 ok. 100 poleceń INSERT.

CODE
class Message {

private $conn_database;
public $user = "";


function __construct() {

include(INC_PATH.'mssql.inc.php');
$this->conn_database= $conn_mssql;
}

function __destruct() {
@sqlsrv_close($this->conn_database);
}





public function zapis_email($idMessage, $email, $adresZwrotny, $temat, $message, $cTime, $cUser, $odNazwa, $tutor = 0, $idp=0) {
$temat = str_replace("'", "''", $temat);
$message = str_replace("'", "''", $message);


$tsql = "INSERT INTO W_EMAIL (UIDEmail, DO, REPLAY, SUBJECT, MESSAGE, DATA_ZAPIS, LOGIN, PRIORYTET, STATUS, ILOSC_PROB, OD_NAZWA, TUTOR, IDP) VALUES ('$idMessage', '$email', '$adresZwrotny', N'$temat', N'$message', $cTime, '$cUser', 0, 0, 6, '$odNazwa', $tutor, $idp)";

$stmt = sqlsrv_query($this->conn_database, $tsql);
sqlsrv_free_stmt($stmt);

return true;
}

}





W wyniku tego następuje całkowia blokada dostępu do serwera, na którym stoi MS SQL, ping nic nie zwraca. Odblokowanie następuje samoistnie po pewnym czasie (ok. 2 min).
Serwer MS SQL pracuje, z innego komputera jest dostęp bezproblemowy.

Proszę o jakieś sugestie.

Karol

Napisany przez: nospor 9.06.2017, 11:17:19

1) uzywaj BBCODE dla kodow.

2) Kod co pokazales to tylko klasa. Musisz pokazac jak uzywasz tej klasy

Napisany przez: Pyton_000 9.06.2017, 11:28:05

Dodatkowo jeśli MSSql obsługuje (raczej powinien) to pakuj zamiast 100 insertów 1 skombinowany:

Kod
INSERT INTO table (cols..) VALUES (first), (second)...;

Napisany przez: karol2005 9.06.2017, 11:54:50

Wywołanie funkcji z klasy (pomijam definicje zmiennych):


CODE
require_once('../model/message.php');

$message = new Message();


foreach($_SESSION['idp_message'] as $idp) {
$message->zapis_email($idMessage, $email, $adresZwrotny, $temat, $message, $cTime, $cUser, $odNazwa, $tutor, $idp);

}



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)