aplikacja spod wykrzynika, parametr filtrSql

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

john_doe
Posty: 649
Rejestracja: 26 maja 2008, 22:15
Rola: Inny

aplikacja spod wykrzynika, parametr filtrSql

Post autor: john_doe »

chce zrobić takie coś:

1. uruchomić aplikację spod wykrzynika, która pobierze dane ( id zamówienia, pozycje, ilości ) - będzie to dokument ZS - i zainsertuje do innej bazy danych na innej instancji w tej samej sieci lokalnej.

natknąłem się gdzieś tutaj na wątek, który mówi, że nie da się tego osiągnąć i elmiq zasugerował cytuję:

Z tego co wiem, to nie ma takiej możliwości. Przechwyć ścieżkę do .txt -> StreamReader -> Problem rozwiązany.


proszę o wskazówki jak to osiągnąć

Awatar użytkownika
viesiek1
Posty: 416
Rejestracja: 03 maja 2011, 18:40
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Bielsko-Biała
Kontakt:

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: viesiek1 »

Piszesz zapytanie, np takie jak poniżej. Wklejasz go do nowego wykresu w polu "Zapytanie". Na zakładce "Opcje wysyłania wyników" robisz tak:

1. Wynik w postaci pliku: plik.txt
2. W formacie: Comma
3. Przed wysłaniem wyników... - odznacz
4. Zapisz na dysku w katalogu - zaznacz i wskaż ścieżkę

Mateusz miał na myśli następnie program w C#, który przy pomocy instrukcji StreamReader odczyta plik tekstowy i wykona na jego podstawie jakieś operacje.

Kod: Zaznacz cały

SELECT 
      1 AS Lp
    , ZaN_GIDNumer
    , ZaN_GIDTyp 
FROM CDN.ZamNag
WHERE {filtrSql}
Wiesław Świergała

tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl

http://www.hydro.com.pl

john_doe
Posty: 649
Rejestracja: 26 maja 2008, 22:15
Rola: Inny

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: john_doe »

chciałbym to uruchamiać wszystko spod wykrzynika.
Nie chcę userowi tłumaczyć aby najpierw wywołał wykres a potem wykrzyknik.

znalazłem coś takiego
select {XLSERWER}, {XLBAZA}, ZaN_GidNumer, ZaN_GidTyp
from cdn.ZamNag where {filtrsql}

to jest podpięte pod wykrzyniknik, są zdefiniowane 4 kolumny typu text
i potem na zakładce opcje wysyłania wyników mam zaznaczone Comma i wynik w postaci pliku cośtam.txt i check przy przekaż do programu i ścieżka

taszek
Posty: 588
Rejestracja: 12 wrz 2012, 13:20
Rola: Administrator CDN XL
Wersja: 2016

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: taszek »

A próbowałeś może zrobić serwery połączone (linked servers) miedzy instancjami SQL SERVER?
Pozdrawiam
Wojtek Cyrklewicz

JakubK
Posty: 76
Rejestracja: 09 lis 2009, 12:22
Rola: Administrator CDN XL

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: JakubK »

Można zrobić tak

select 'http://cdn.3lance.pl' from cdn.ZamNag where {filtrsql}

format: comma
przekaż do programu: \\serwer\udzial\skrypt.cmd

w pliku cmd np.
cd "%programfiles%\Internet Explorer\"
set /P zmienna= <%1
start iexplore.exe %zmienna%

Zamiast wywołania przeglądarki możesz dać np. sqlcmd.exe


Można też na serwerze uruchomić IIS i napisać prostą stronę w aspx która będzie przerabiała parametry i je insertowała.
Wtedy parametry przekazujesz do przeglądarki w postaci adresu a strona może dać informację zwrotną np jakieś dane z tej zewnętrznej bazy.

john_doe
Posty: 649
Rejestracja: 26 maja 2008, 22:15
Rola: Inny

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: john_doe »

Jeszcze się za to nie wziąłem ale mam ostatnie pytanie, bo da się to osiągnąć tworząc wydruk XML i moje pytanie czy ktoś posiada jakiś prosty przykład takiego wydruku oraz jak dzięki niemu mogę odpalić aplikację zewn. oraz przekazać do niej parametry.

taszek
Posty: 588
Rejestracja: 12 wrz 2012, 13:20
Rola: Administrator CDN XL
Wersja: 2016

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: taszek »

Pozdrawiam
Wojtek Cyrklewicz

john_doe
Posty: 649
Rejestracja: 26 maja 2008, 22:15
Rola: Inny

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: john_doe »

dokładnie.
zakodowałem coś już wczoraj po południu. Ja robię to tak:

Kod: Zaznacz cały

[SQL]
@PAR ?@Hs200_NQ|Filtr:''@? PAR@
@PAR ?@HS20|CDN_Baza|&CDN_Baza:REG= @? PAR@
@PAR ?@HS20|CDN_Serwer|&CDN_Serwer:REG= @? PAR@


select 'report' as "report"
[XSL]
<!-- sprzedaz -->
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method = "xml" omit-xml-declaration="yes" encoding="UTF-8" />
<xsl:template match="/">
 <xsl:value-of select="'<?xml'" disable-output-escaping="yes"/><![CDATA[  version="1.0" encoding="windows-1250"?]]><xsl:value-of select="'>'" disable-output-escaping="yes"/><report name="sprzedaz">
<database><![CDATA[ ??CDN_Baza ]]></database>
<server><![CDATA[ ??CDN_Serwer ]]></server>
<systemType>1</systemType>
<parameters><filter><![CDATA[ ??_NQFiltr ]]></filter>
<xsl:copy-of select="*" />
</parameters>
</report>
</xsl:template>
</xsl:stylesheet>
[RUN]
C:\sciezka_do_aplikacji\aplikacja.exe
w aplikacji testowo umieściłem wyświetlenie przekazanych argumentów.
Wynikiem jest ścieżka dla win 7
C:\Users\user\AppData\Local\Temp\blablaBla.tmp
i zostałem zaskoczony. Co mi po takim czymś? :) Jednak gdy udamy się do tej lokalizacji i wyedytujemy ten plik -> to XML jest :)
I teraz kwestia czytania go.

Taszek na wiki wspomniane jest o kłopotach z polskimi znakami. Muszę to sprawdzić bo:
1. wygeneruję sobie wszystko czego potrzebuję do XML i potem go będę parsował
2. lub zostawię tak jak jest i odczytam tylko tag <filter> i odpytam db

taszek
Posty: 588
Rejestracja: 12 wrz 2012, 13:20
Rola: Administrator CDN XL
Wersja: 2016

Re: aplikacja spod wykrzynika, parametr filtrSql

Post autor: taszek »

@john_doe
Ja używam pierwszego rozwiązania do generowaniu pliku do programu przewoźnika (GLS).
Problemy z polskimi znakami raczej nie zauważyłem, tylko wcześniej jak firma używała programu UPS to usuwałem polskie znaki, bo nie obsługiwali no i każdy plik wygenerowany przez CDN XL jest w kodownaiu UTF-16, nie ważne czy w parsowaniu ustawisz UTF-8 lub inne kodowanie i tak będzie plik zapisany w kodowaniu UTF-16.
Pozdrawiam
Wojtek Cyrklewicz

ODPOWIEDZ