pátek 23. července 2021

DELL notebook, upgrade BIOSu

Za běžných okolností provedete upgrade BIOSu dvěma tradičními, možnými způsoby:

Buď na stránce https://dell.cz  kliknete na Technickou podporu -> Podpora produktů ... atd. , nebo si stáhnete ze stránky aplikaci Support Assist (aktuálně: https://downloads.dell.com/serviceability/catalog/SupportAssistInstaller.exe).

Na tom by ale nebylo zase až tak nic zvláštního. Dostal se mi však do ruky jeden notebook, který v obou zmíněných případech končil chybou, jako kdyby při upgradu nebyl připojen k 230V, nebo baterie nebyla zcela nabita. 



Nepomohlo ani stažení samotného *.exe souborů, který taktéž končil chybou. Restart nepomohl, dokonce ani odpojení baterie, spuštění naprázdno, ...

Jsou dvě možná řešení:

  • Stáhnete si Rufus  a připravíte flashku s freedosem na něj nahrajte aktualizační soubor. Restartujte Notebook  a nabootujte z flashky. Po té spusťte aktualizační soubor s parametrem /forceit . A dál už jen dáváte pokračovat.
    Jenže bohužel tohle mi asi v polovině také zhavarovalo.

  • Zkusil jsem tedy ještě zpátky do Windows, spustil jsem cmd (jako správce) a v něm spustil aktualizační soubor opět s parametrem /forceit . Tady to proběhlo okamžitě a okamžitě i bez dotazů zrestartovalo.


PHP komunikace s MS SQL

Dnes jsem potřeboval napsat jednoduchou PHP aplikaci, která vyčítá data z MS SQL serveru. Bohužel jsem se musel trochu poprat s nastavením linuxového serveru a jeho komponent s vazbou na MSSQL.

Na čem jsem to rozběhl a jak :

  • UBUNTU 20.04 LTS + Apache2 + PHP 7.4
  • Windows server + MS SQL 2008 R2

Nebudu zde popisovat rozběhnutí Ubuntu serveru, Apache a PHP, což budu pro tento návod považovat jako výchozí, již funkční. 

Bohužel tahle problematika je při vyhledávání na Googlu dost probíraná, ale ne všechny návody jsou funkční, nebo jen částečně. Takže tady spojeno do jednoho.

Doinstaluji si 

apt-get install unixodbc tdsodbc


Do /etc/odbc.ini vložím:

[mssql]
Description   = MSSQL Server
Driver        = freetds
Database      = mojeDatabaze
ServerName    = MSSQL
TDS_Version   = 7.1


Do /etc/odbcinst.ini vložím:

[freetds]
Description = MS SQL database access with Free TDS
#Driver     = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Driver      = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup       = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
UsageCount  = 1


Do /etc/freetds/freetds.conf vložím:

[mojeSpojeni]
host        = IPadresaSQLserveruNeboFQDN
instance    = instanceSqlServeru
database    = mojeDatabaze
tds version = auto


Po editaci těchto tří souborů restatuji Apache2

$sudo systemctl restart apache2


A jak vypadá samotné volání PDO v PHP? :

<?php

$pdo = new PDO ('odbc:DRIVER=FreeTDS;SERVERNAME=mojeSpojeni;DATABASE=' . $dbname . ';ClientCharset=UTF-8', $username, $password);

?>