Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL]update TABELA set Kolumna = replace
netyk
post 24.01.2013, 11:36:11
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.01.2013

Ostrzeżenie: (0%)
-----


Witam

Napiszę od początku o co chodzi. Zamieściłem w swoim sklepie internetowym certyfikat SSL i pojawił się problem, gdyż większość opisów w sklepie miała linki do zdjęć zapisane na sztywno jako http zamiast https i w tej chwili wyszukiwarki pokazuja komunikat o istniejacych zawarosciach bez zabezpieczen. pomyślałem żeby hurtowo zmienić to w SQL Server MS. w google znalazłem taki skrypt

  1. UPDATE TABELA SET Kolumna = REPLACE(Kolumna,'http','https');


jednak to nie działa. Na forach znalazłem ze funkcja Replace nie będzie działać w polach tekstowych i ze trzeba napisać ASP skrypt na czym zupełnie się nie znam ;/
Czy jest jakiś inny sposób, żeby nie pisać skryptów? A może jest jeszcze inny sposób (nie w sql) zeby zminić pola http na https?



--------------------
Akumulatorki 18650, baterie - www.bto.pl
Agencja reklamowa Łódź - www.lifemotion.pl
Go to the top of the page
+Quote Post
Michasko
post 24.01.2013, 11:46:48
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


Jeśli faktycznie nie działa w ten sposób (choć to dla mnie dziwne), to może najpierw przytnij Twoje ścieżki o te 4 znaki (HTTP) z przodu, a następnie dodaj je znowu, ale już HTTPS smile.gif
Myślę, że to będzie nawet lepszy sposób, bo REPLACE podmieniłoby Ci wszystkie 'http' jakie by znalazło w ścieżce - nie tylko te na początku.

Ten post edytował Michasko 24.01.2013, 11:51:57


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
bpskiba
post 24.01.2013, 17:43:44
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Cytat(netyk @ 24.01.2013, 11:36:11 ) *
Witam

Napiszę od początku o co chodzi. Zamieściłem w swoim sklepie internetowym certyfikat SSL i pojawił się problem, gdyż większość opisów w sklepie miała linki do zdjęć zapisane na sztywno jako http zamiast https i w tej chwili wyszukiwarki pokazuja komunikat o istniejacych zawarosciach bez zabezpieczen. pomyślałem żeby hurtowo zmienić to w SQL Server MS. w google znalazłem taki skrypt

  1. UPDATE TABELA SET Kolumna = REPLACE(Kolumna,'http','https');


jednak to nie działa. Na forach znalazłem ze funkcja Replace nie będzie działać w polach tekstowych i ze trzeba napisać ASP skrypt na czym zupełnie się nie znam ;/
Czy jest jakiś inny sposób, żeby nie pisać skryptów? A może jest jeszcze inny sposób (nie w sql) zeby zminić pola http na https?


To zapytanie na tysiąc procent działa na MSSQL i na MySQL. Funkcja replace jest stworzona właśnie do ciągów tekstowych!!
Jedyny powód problemu jaki podejrzewam to cudzysłów może tak
  1. UPDATE TABELA SET Kolumna = REPLACE(Kolumna,"http","https");
Go to the top of the page
+Quote Post
netyk
post 28.01.2013, 12:23:43
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.01.2013

Ostrzeżenie: (0%)
-----


Pokazuje komunikat :

Msg 8116, Level 16, State 1, Line 2
Argument data type text is invalid for argument 1 of replace function.

Nie akceptuje mi cudzysłowia w Microsoft SQL Managment Studio


--------------------
Akumulatorki 18650, baterie - www.bto.pl
Agencja reklamowa Łódź - www.lifemotion.pl
Go to the top of the page
+Quote Post
mmmmmmm
post 28.01.2013, 12:44:43
Post #5





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Jeśli możesz to zmień typ pola z TEXT na Varchar(max).
Jeśli nie możesz to:
  1. UPDATE TABELA SET Kolumna = REPLACE(Cast(Kolumna AS varchar),'http','https')
Go to the top of the page
+Quote Post
netyk
post 29.01.2013, 09:33:41
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.01.2013

Ostrzeżenie: (0%)
-----


Cytat(mmmmmmm @ 28.01.2013, 12:44:43 ) *
Jeśli możesz to zmień typ pola z TEXT na Varchar(max).
Jeśli nie możesz to:
  1. UPDATE TABELA SET Kolumna = REPLACE(Cast(Kolumna AS varchar),'http','https')


1. Nie mogę zmienić na Varchar
2. Ta funkcja nie działa
  1. UPDATE TABELA SET Kolumna = REPLACE(Cast(Kolumna AS varchar),'http','https')
usuwa praktycznie caly opis (pozostawia jedynie na poczatku w kazdej pozycji tyle samo znaków.

Zapomniałem napisać ze opis jest zapisany jest w jezyku html


--------------------
Akumulatorki 18650, baterie - www.bto.pl
Agencja reklamowa Łódź - www.lifemotion.pl
Go to the top of the page
+Quote Post
mmmmmmm
post 29.01.2013, 09:42:33
Post #7





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


A spróbuj tak:
  1. UPDATE TABELA SET Kolumna = REPLACE(Cast(Kolumna AS nvarchar(max)),'http','https')

lub tak:
  1. UPDATE TABELA SET Kolumna = REPLACE(Cast(Kolumna AS nvarchar(2000)),'http','https')
Go to the top of the page
+Quote Post
netyk
post 29.01.2013, 12:54:56
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.01.2013

Ostrzeżenie: (0%)
-----


Dzięki wielkie pierwsza opcja działa.

Teraz mam jeszcze inne pytanko i nie wiem czy to na to forum.

Chce zrobić przekierowanie w IIS http:// na https:// robie według instrukcji http://www.sslshopper.com/iis7-redirect-http-to-https.html

ale po zrobieniu pierwszej metody pokazuje mi błąd 500

natomiast po drugiej metodzie pokazuje mi: "Nie można wyświetlić strony z powodu wewnętrznego błędu serwera."

I nie bardzo wiem co jest nie tak ;/


--------------------
Akumulatorki 18650, baterie - www.bto.pl
Agencja reklamowa Łódź - www.lifemotion.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 1.05.2025 - 04:20