![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 1 Dołączył: 24.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
witam
z poziomu procedury w mssql 2005 chciałbym uruchomić przeglądarkę internetową z konkretnym adresem próbuję użyć polecenia
plik IEXPLORE.EXE skopiowałem do katalogu c więc ścieżka jest dobra ale nie otwiera się przeglądarka, nie zgłasza żadnego błędu, executed successfull, , czy ma ktoś jakiś pomysł dlaczego nie działa to polecenie? pozdrawiam Stachu Ten post edytował stachuf11 9.08.2009, 13:59:06 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
xp_cmdshell może być wyłączone ze względów bezpieczeństwa, w 2008 jest chyba domyślnie, trzeba włączyć i ustawić użytkownika, lub nadać prawa do wykonywania procedur systemowych, nie wiem jak w 2005.
Może przetestuj na początek coś prostszego, np.: notepad, nie musisz go nigdzie kopiować bo jest w zmiennych systemowych, a poza tym, nawet jak skopiujesz to działa bez innych plików, IE jednak wymaga innych plików, sam exe nie wystarczy. Możesz też spróbować uruchomić "c:\IEXPLORE.EXE" z cmd, wtedy zobaczysz czy cokolwiek się dzieje, czy przypadkiem wina nie leży po stronie skopiowanego samego pliku exe. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 1 Dołączył: 24.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
xp_cmdshell było wyłączone, i wtedy był komunikat że jest wyłączone ale włączyłem zanim pisałem ten post,
z poziomu cmd uruchomienie c:\iexplore.exe działa bez problemu, jak sie ustawia uzytkownikowi prawa do wykonywania procedur systemowych np. w 2008?, bo tego nie robilem, moze tak samo jest w 2005 np polecenie
działa bez problemu, wyswietlane są pliki z rozsz. exe w katalogu, inne polecenie np.
też działa a notepad w cmd działa ok, a przy
nie działa, tak samo jak iexplore.exe, wykonanie zapytania jest jako succesfull, zero błedów nie wiem co jest powodem, w przykładach właśnie tak jest podane uruchomienie plików exe Stachu Ten post edytował stachuf11 9.08.2009, 22:30:43 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Coś mi się kojarzy, że procedury składowane są uruchamiane na prawach konta uruchamiającego usługę MSSQLSERVER. Zatem może trzeba dodać tego użytkownika do grupy administratorzy.
Poza tym znalazłem: Cytat Now not just anyone can run this extended stored procedure. If you want to execute this extended stored procedure, you will either need to be a member of the sysadmin role, or have the xp_sqlagent_proxy_account set up on your SQL Server. If a login executing this extended stored procedure is a member of the sysadmin role then the submitted command will run under the security context associated with the SQL Server Service account in which it runs. If the login executing this procedure is not a member of the sysadmin role, then the command uses the xp_sqlagent_proxy_account login security context for determining whether operating system commands can and cannot be run. If there is no xp_sqlagent_proxy_account then using this procedure will fail for all users not in the sysadmin role. http://sqlblog.com/blogs/tibor_karaszi/arc...ermissions.aspx -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 13.03.2009 Skąd: lublin Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
a może po prostu dwie linijki kodu w C# skompilowane do funkcji wbudowanej i nadanie praw dla NETWORK do wywoływania? Tak będzie chyba najszybciej i obejdziesz zabezpieczenia SQL Server bez konieczności ich modyfikowania.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 1 Dołączył: 24.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
temat nie jest taki prosty, po dodaniu rekordu w pewnej tabeli w mssql 2005, chcę triggerem after insert otworzyć przeglądarke z konkretnym adresem, w którym id dodanego rekordu będzie podane jako parametr, i wtedy skrypt php wykona resztę
dlatego jest mi to potrzebne moj użytkownik systemu operacyjnego jest członkiem grupy administratorzy, a loguję się do mssql 2005 przy Windows Authentication, więc powinno byc ok, a nie jest a mam pytanie czy komus działa ta komenda?
pozdrawiam Stachu |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 13.03.2009 Skąd: lublin Ostrzeżenie: (0%) ![]() ![]() |
http://msdn.microsoft.com/en-us/library/ms190693.aspx
trzymasz logikę po niewłaściwej stronie ![]() ![]() wyobraź sobie co by się stało jak byś zrobił update 2 rekordy, z tego co widze raczej nie obczajasz kursorów dokładnie to co chcesz robić za pomocą PHP zrobisz w T-SQL-u (o ile potrafisz) jeżeli chodzi o forum to bardzo dobre jest http://wss.pl/frmThreads.aspx?gid=17 teraz mam pytanie zasadnicze po co robisz synchronizację MySQL-a i MSSQL-a? czy logika aplikacji korzystaz z MSSQL-a czy też MySQL-a PHP służy do wyświetlania danych czy też robi coś więcej bo widzisz jakby się okazało że aplikację masz na MSSQL-u a wyświetlasz za pomocą PHP i MySQL-a to tylko pogratulować ![]() Ten post edytował prachwal 11.08.2009, 09:48:45 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 1 Dołączył: 24.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
mam udostępnione xp_cmdshell, już to wczesniej zrobiłem, momo to nie działa u mnie, w sumie na 3 serwerach juz probowałem z takim samym efektem, nie działa
czy konus dziala takie polecenie
jest centrum wydruków masowych, program też do obsługi ale prymitywny w c++, nie mojego autorstwa, nie mam kodów zrodłowych, ten program pracuje na mssql 2005, usery chcą wysyłać maila automatem do osoby ktora przysłała plik do wydruków masowych w momencie gdy załadują ten plik do programu no i bazy, więc chcę w triggerze afterinsert wywołać swoją stronę, w bazie mysql-a mam osoby przysyłające pliki do wydruku, są też ich nry kadrowe i adresy mailowe , a w nazwie przysyłanego pliku jest nr usera więc najprościej by było otworzyc stronkę z php, która wyśle maila że plik jest załądowany , dodatkowo php wykona jeszczwe pare innych operacji, ile juz osoba plików przysłała itp dlatego chcę otworzyc to w php mam jeszcze inny temat, chciałbym otworzyć iexplore z adresem w momencie pojawienia się nowego pliku w katalogu, jak wyłapać takie zdarzenie? Ten post edytował stachuf11 11.08.2009, 10:27:08 |
|
|
![]() ![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
SQL Server oferuje sam w sobie możliwośc wysyłania maili - zainteresuj się Reporting Services - a do tego z MySQL'a może pobrać dane poprzez linked server. Niepotrzebne to okno.
Co do wyłapania pojawienia się nowego pliku - scheduled task uruchomiony raz na dwie trzy minuty, ktory sprawdzi czas dodania pliku i jeżeli będzie w zakresie od ostatniego uruchomienia to po prostu wywoła jakąś komendę systemowa uruchamiającą stronę. W C# taka aplikacyjka waży jakieś 15 linii kodu - ale jeżeli chcesz otwierać IE żeby znowu maila wysłać to to bez sensu - od razu w C# wysłać maila - stuknij na PW szczegóły Ten post edytował jmail 11.08.2009, 10:21:24 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 1 Dołączył: 24.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
sheduled task pomógl
dziekuję serdecznie pozdrawiam Stachu |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 13.03.2009 Skąd: lublin Ostrzeżenie: (0%) ![]() ![]() |
jest centrum wydruków masowych, program też do obsługi ale prymitywny w c++, nie mojego autorstwa, nie mam kodów zrodłowych, ten program pracuje na mssql 2005, usery chcą wysyłać maila automatem do osoby ktora przysłała plik do wydruków masowych w momencie gdy załadują ten plik do programu no i bazy, więc chcę w triggerze afterinsert wywołać swoją stronę, w bazie mysql-a mam osoby przysyłające pliki do wydruku, są też ich nry kadrowe i adresy mailowe , a w nazwie przysyłanego pliku jest nr usera więc najprościej by było otworzyc stronkę z php, która wyśle maila że plik jest załądowany , dodatkowo php wykona jeszczwe pare innych operacji, ile juz osoba plików przysłała itp dlatego chcę otworzyc to w php mam jeszcze inny temat, chciałbym otworzyć iexplore z adresem w momencie pojawienia się nowego pliku w katalogu, jak wyłapać takie zdarzenie? jaką wersję MSSQL-a tam macie Express, Enterprice..... wysyłanie maili można zrealizować np. za pomocą procedury CLR lub wbudowanego mechanizmu (nie ma go w wersji Express) Kolega wspomniał o Report Serwer, ten też potrafi wysyłać ładnie sformatowane raporty sposób który chcesz użyć jest najgorszym z mozliwych, z wielu powodów np. co z iexplore po zakończeniu procesu wysyłania, do tego lepszy byłby wget.exe, kończy działanie po wywołaniu ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 154 Pomógł: 1 Dołączył: 24.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
wersja express
dziekuję sedecznie za pomoc wskazówki i naprowadzenie pozdrawiam Stachu |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 03:20 |