Установленный Drupal 7 с помощью установщика Веб-платформы в Windows 2008
По некоторым причинам модуль файла при загрузке файла использует первые несколько букв имени файла как уникальный ключ для хранения в базе данных, которая, конечно, вызывает проблемы очень быстро.
Я задаюсь вопросом, у кого-либо есть обходное решение для этого?
An AJAX HTTP request terminated abnormally. Debugging information follows.
Path: /file/ajax/field_file/und/0/form-EBMatHzV5cZXcWvXJtdADSdyw7Id9-GIpFM_NCJg_a4
StatusText: n/a
ResponseText: Error message PDOException: SQLSTATE[23000]: [Microsoft][SQL Server Native Client10.0][SQL Server]Cannot insert duplicate key row in object 'dbo.file_managed' with unique index 'uri_unique'. in drupal_write_record() (line 6776 of ..........\includes\common.inc). Error The website encountered an unexpected error. Please try again later.
ReadyState: undefined
Сегодня я испытал точно ту же проблему. Это произошло, когда я пытался загрузить новую тему.
Я установил другой экземпляр Drupal с базой данных MySQL для сравнения таблиц и проверки, если было вычисляемое поле там.
Не было ни одного. В MySQL индекс основан на поле на 'uri'
Так, в моей базе данных SQL-сервера я переместил индекс 'uri_unique' от поля '__ unique_uri' к полю 'uri' (как в MySQL). И это работало просто великолепно!
Я предполагаю, что это менее эффективно, поскольку поле является nvarchar (255), где вычисляемое поле было varbinary (16)..., и я надеюсь, что не буду в беде позже... Но по крайней мере, это решило проблему.
Я просто нашел отчет об ошибках для той проблемы: http://drupal.org/node/10508004 (Существует патч),