Archiwum kategorii: informatyka

Alternatywa dla STRING_SPLIT w MSSQL

Poniżej przykład podzielenia tekstu i wprowadzenie go do tabeli. Ciąg znaków odseparowany od siebie np. przecinkiem. Dane w tabeli można dalej przetwarzać w SQL.

Poniższy przykład również pomaga obejść błąd
’STRING_SPLIT’ is not a recognized built-in function name.

Przykładowo mamy ciąg znaków odseparowany przecinkiem:
declare @str2arr as varchar(200);
set @str2arr = '5, 10, 12';

Aby podzielić ciąg znaków (String) i wprowadzić dane do tymczasowej tabeli należy wykonać:
declare @Str2ArrTable as table(p int);

insert into @Str2ArrTable
select trim(split.a.value('.', 'VARCHAR(100)'))
from (select Cast ('' + Replace(@str2arr, ',', '') + '' as XML) as Data) as A
cross apply data.nodes ('/M') AS Split(a);

Dane znajdują się w tabeli. Aby je podejrzeć:
select * from @Str2ArrTable;

Dane z tabeli można wykorzystań np. w innym zapytaniu SQL jako warunek:
select * from Dokumenty where typDok in (
select p from @Str2ArrTable
);

Archiwum PKCS12 na potrzeby Let’s Encrypt SSL

Przechowywanie certyfikatu Let’s Encrypt w archiwum PKCS #12 na potrzeby np. Java Boot Spring HTTPS.

Generowanie pliku P12 za pomocą komendy „openssl”:
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name twoja-domena.pl -CAfile chain.pem -caname root

Konfiguracja Boot Spring w pliku „application.properties”:
server.port=443
server.ssl.key-store=/sciezka/do/pliku/keystore.p12
server.ssl.key-store-password=twoje_haslo_dp_pliku_p12
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=twoja-domena.pl

Programowanie ESP8266 w środowisku Arduino IDE

Moduł WiFi ESP8266 ESP-01. Test płytki ESP-01 z wykorzystanie Arduino IDE.
Przed podłączeniem do USB pin GPIO0 musi być podłączony do GND a pin CH_PD do VCC. W takiej konfiguracji moduł uruchamia się w trybie programowania i czeka na wgrywanie programu. Po zainstalowaniu oprogramowania moduł jest ponownie uruchomiony w trybie programu. Rozłączenie i ponowne podłączenie płytki do zasilania wymaga uprzedniego rozłączenia GPIO0 od GND żeby moduł nie przeszedł ponownie w tryb programowania.
Czytaj dalej Programowanie ESP8266 w środowisku Arduino IDE

Ubuntu MsSQL Server – Error code 0x2746

Próba zalogowania się do bazy MsSQL (lokalnie oraz z zewnątrz) zakończona błędem 0x2746.

Przykład logowania lokalnie:
# sqlcmd -S localhost -U SA
Password:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.

Czytaj dalej Ubuntu MsSQL Server – Error code 0x2746

Arduino STM32F103. Problem z funkcją createChar

Problem z funkcją createChar obiektu LiquidCrystal w bibliotece "LiquidCrystal.h".
Po w graniu prostego przykładu ze strony arduino.cc, funkcja createChar powinna umożliwiać definiowanie własnych znaków.
Test wykonałem z wykorzystaniem płytki STM32 F103 i wyświetlacza LCD 1604.

Aby problem rozwiązać należy zastąpić w pliku LiquidCrystal.cpp biblioteki wartość 100 na 40 w linii 309 jak poniżej.

303 void LiquidCrystal::pulseEnable(void) {
304   digitalWrite(_enable_pin, LOW);
305   delayMicroseconds(1);
306   digitalWrite(_enable_pin, HIGH);
307   delayMicroseconds(1);    // enable pulse must be >450ns
308   digitalWrite(_enable_pin, LOW);
309   delayMicroseconds(40);   // commands need > 37us to settle
310 }

Biblioteka
STM32F1xx/GD32F1xx boards by stm32duino wersja 2018.4.1
– nowsze wersje odmawiały współpracy