SQL Server
-
- Nou venit
- Mesaje: 4
- Membru din: 23-Apr-2004, 22:01:20
- Ext: Nu
- Server: Windows
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Localitate: Genève
SQL Server
Urgent am nevoie de ajutor. Am instalat phpbb2.08a pe un server IIS cu o baza de date SQL 2000 Server (un hebergeur din Geneva) si totul e ok pana cand am introdus un text mai lung in diferite limbi(engleza, franceza, spaniola) si am descoperit ca la introducerea (de exemplu) a cuvantului "general" in engleza sau "qué" in spaniola nu se mai conecteaza la baza de date pentru a inreegistra cuvantul in tabela search_wordlist si am aceasta eroare:
Could not insert new word
DEBUG MODE
SQL Error : 23000 [Microsoft][ODBC SQL Server Driver][SQL Server]Duplicate key was ignored.
INSERT INTO phpbb_search_wordlist (word_text, word_common) SELECT 'contribution', 0 UNION ALL SELECT 'general', 0
Line : 234
File : C:\..\forum\includes\functions_search.php
Daca cineva ma poate ajuta cu o opinie sau in cel mai bun caz cu ideea fatala raman vesnic recunoscator. Trebuie urgent ca acest forum sa mearga ceas in mai multe limbi.
Multumesc in avans.
Could not insert new word
DEBUG MODE
SQL Error : 23000 [Microsoft][ODBC SQL Server Driver][SQL Server]Duplicate key was ignored.
INSERT INTO phpbb_search_wordlist (word_text, word_common) SELECT 'contribution', 0 UNION ALL SELECT 'general', 0
Line : 234
File : C:\..\forum\includes\functions_search.php
Daca cineva ma poate ajuta cu o opinie sau in cel mai bun caz cu ideea fatala raman vesnic recunoscator. Trebuie urgent ca acest forum sa mearga ceas in mai multe limbi.
Multumesc in avans.
- BuGsY
- Fost coleg
- Mesaje: 1193
- Membru din: 19-Iun-2003, 15:24:49
- Ext: Nu
- Server: Windows
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Localitate: Constanţa
- Contact:
Intră în phpMyAdmin şi dă această comandă
Nu ştiu cât te-ar putea ajuta, deoarece este vorba despre o bază de date SQL 2000 Server
Cod: Selectaţi tot
REPAIR TABLE phpbb_search_wordlist;
-
- Nou venit
- Mesaje: 4
- Membru din: 23-Apr-2004, 22:01:20
- Ext: Nu
- Server: Windows
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Localitate: Genève
Precizari
Multumesc pentru raspuns. Din pacate nu am acces la baza de date, iar din discutiile cu cei ce administreaza serverele windows a rezultat din partea lor fireste ca ar putea fi o greseala din phpbb. Ma indoiesc pentru ca merge foarte bine cu Mysql si Apache si nu vad de ce nu ar merge cu aceasta baza de date. Introducerea unor anumite cuvinte (general, qué, préférences, ...) provoaca neconectarea la baza de date cand trebuie sa fie inregistrate in tabela search_wordlist. Ideea este de a sti ce sa le solicit celor ce administreaza bazele de date privitor la ce setari nu sunt potrivite.BuGsY scrie:Intră în phpMyAdmin şi dă această comandăNu ştiu cât te-ar putea ajuta, deoarece este vorba despre o bază de date SQL 2000 ServerCod: Selectaţi tot
REPAIR TABLE phpbb_search_wordlist;
Pe curind
- bogdan
- Mesaje: 10888
- Membru din: 18-Oct-2002, 13:14:27
- Versiune: 3.0.11
- Ext: Da
- Server: UNIX/Linux
- Nivel phpBB: Experimentat
- Nivel php: Mediu
- Localitate: Bucuresti
- Contact:
in fisierul includes/functions_search.php inlocuieste codul: cu (valabil pentru Microsoft SQL Server si Microsoft Access) !
Cod: Selectaţi tot
INSERT IGNORE
Cod: Selectaţi tot
INSERT
-
- Nou venit
- Mesaje: 4
- Membru din: 23-Apr-2004, 22:01:20
- Ext: Nu
- Server: Windows
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Localitate: Genève
Salut,bogdan scrie:in fisierul includes/functions_search.php inlocuieste codul:cuCod: Selectaţi tot
INSERT IGNORE
(valabil pentru Microsoft SQL Server si Microsoft Access) !Cod: Selectaţi tot
INSERT
Multumesc pentru ca mi-ai raspuns. Am verificat dar codul e corect in fichier:
Ma gandesc ca e ceva cu baza lor de date ( niste setari pe care nu le stiu)
pentru ca mai am o limitare si la lungimea textului care poate fi introdus in
mesaje. Deci pe alte baze de date (pe Mysql de exemplu) nu am aceste probleme.
Si nu am gasit o regula generala pentru anumite caractere ci doar o combinatie
care luat ca un cuvant si in incercarea de a il inregistra in tabela
searc_wordlist ne se mai conecteaza la baza de date. Chestia e ca nu am idee ce
sa le cer celor care administreaza serverul si baza de date Sql Server privitor
fie la typul campului unde se inregistreaza cuvintele fie ce semnificatie pot
avea.
Nu cumva ai o alta idee?
In orice caz, multumesc pentru ca ai incercat sa ma ajuti.
- danielt
- Mesaje: 1176
- Membru din: 18-Oct-2002, 13:02:29
- Versiune: 3.0.5
- Ext: Nu
- Server: UNIX/Linux
- Nivel phpBB: Mediu
- Nivel php: Mediu
- Localitate: Timişoara
- Contact:
Nu sunt 100% sigur, dar se poate să fie o problema de cod de caractere. Este posibil ca qué să fie interpretat de baza de date la fel ca şi que şi de aici să apara duplicarea cuvintelor. După cum se obs. din eroare problema nu apare la nivelul php-ului ci la nivelul bazei de date.
Din câte mai ţin eu minte există un cod de caractere pe baza de date ceva de genul Latin1. Cred că va trebui să pui acel tip de caractere. Transmite-i administratorului serverul acest lucru şi intreaba-l ce poţi face.
S-ar putea să trebuiască şi să refaci baza de date.
Din câte mai ţin eu minte există un cod de caractere pe baza de date ceva de genul Latin1. Cred că va trebui să pui acel tip de caractere. Transmite-i administratorului serverul acest lucru şi intreaba-l ce poţi face.
S-ar putea să trebuiască şi să refaci baza de date.
- bogdan
- Mesaje: 10888
- Membru din: 18-Oct-2002, 13:14:27
- Versiune: 3.0.11
- Ext: Da
- Server: UNIX/Linux
- Nivel phpBB: Experimentat
- Nivel php: Mediu
- Localitate: Bucuresti
- Contact:
verifica ce tip de "collation" e setat pentru baza de date (acesta sa fie setat pe Latin1_General_CI_AS).
fa-ti o copie la baza de date (schimba-i numele) si apoi sterge baza veche, creaza o baza noua cu acelasi nume ca baza veche specificand la tipul collation type valoarea Latin1_General_CI_AS si apoi ruleaza /db/schema/mssql_schema.sql pentru noua baza de date.
Apoi refa-ti toate tabelele din BD salvata in noua BD folosind SQL Server DTS (Data Transformation Services).
PS. citeste si articolul How to perform case sensitive searches in SQL Server ?
fa-ti o copie la baza de date (schimba-i numele) si apoi sterge baza veche, creaza o baza noua cu acelasi nume ca baza veche specificand la tipul collation type valoarea Latin1_General_CI_AS si apoi ruleaza /db/schema/mssql_schema.sql pentru noua baza de date.
Apoi refa-ti toate tabelele din BD salvata in noua BD folosind SQL Server DTS (Data Transformation Services).
PS. citeste si articolul How to perform case sensitive searches in SQL Server ?
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori