aplikacja spod wykrzynika, parametr filtrSql
Moderator: mikey
aplikacja spod wykrzynika, parametr filtrSql
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ąć
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ąć
- 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
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.
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
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
Re: aplikacja spod wykrzynika, parametr filtrSql
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
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
Re: aplikacja spod wykrzynika, parametr filtrSql
A próbowałeś może zrobić serwery połączone (linked servers) miedzy instancjami SQL SERVER?
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: aplikacja spod wykrzynika, parametr filtrSql
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.
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.
Re: aplikacja spod wykrzynika, parametr filtrSql
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.
Re: aplikacja spod wykrzynika, parametr filtrSql
To powinno pomóc:
http://cdn.3lance.pl/trac/wiki/Wydruki/XML/Przyklad1
http://cdn.3lance.pl/trac/wiki/Wydruki/XML/Przyklad1
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: aplikacja spod wykrzynika, parametr filtrSql
dokładnie.
zakodowałem coś już wczoraj po południu. Ja robię to tak:
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
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
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
Re: aplikacja spod wykrzynika, parametr filtrSql
@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.
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
Wojtek Cyrklewicz