Bu sabah
TRDNN sürümünü DNN 5.3.1'den
DotNetNuke 5.4.1'e yükseltmeye çalışırken epey uğraşmama rağmen aşağıdaki hata mesajından bir türlü kurtulamadım.
Detaylar için
05.04.01.log dosyasına baktığımda ise aşağıdaki içerik ile karşılaştım.
System.Data.SqlClient.SqlException: String
or
binary
data would be truncated.
The statement has been terminated.
at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at
System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at
DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at
DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
/* ensure existing portal
default
languages have valid localization records */
DECLARE
@PortalID
int
DECLARE
@DefaultLanguage nvarchar(10)
--Iterate through each portal
DECLARE
Portals_Cursor
CURSOR
FOR
SELECT
PortalID, DefaultLanguage
FROM
dbo.Portals
OPEN
Portals_Cursor
--get first
FETCH
NEXT
FROM
Portals_Cursor
into
@PortalID, @DefaultLanguage
WHILE @@FETCH_STATUS = 0
BEGIN
exec
dbo.EnsureLocalizationExists @PortalID,@DefaultLanguage
FETCH
NEXT
FROM
Portals_Cursor
into
@PortalID, @DefaultLanguage
END
CLOSE
Portals_Cursor
DEALLOCATE
Portals_Cursor
TRDNN'de
Türkçe Dil paketi etkin olduğu için bu sorunun gerçekleştiğini düşünüyorum. Çalışmalarım sürüyor, eğer sorunu düzeltebilirsem çözümü buradan paylaşacağım.
Ekleme & Sorun Çözüldü
Arkadaşlar saatler süren denemelerim sonunda 2 yöntem ile sorunu çözebildim. İlk yöntemi daha uzun süreceği ve kodda değişikliklik yapmanız gerektiği için anlatmayacağım.
İkinci yöntem için,
Yönetim > Dil Kütüphanesi sayfasından sitenizin varsayılan dilini
en-US yapmanız gerekiyor. Daha sonra upgrade işlemini başarılı bir şekilde tamamlayabilirsiniz.
Ek Bilgi
Her ne kadar güncelleme başarılı bir şekilde tamamlanmış olsa da varsayılan dili tekrar tr-TR yaptıktan sonra temanızdaki dil seçim düğmesine (Türk bayrağına) tıkladığınızda sorun devam edecek.
Sorunun 15 Mayıs 2010'da duyurulması planlanan
DotNetNuke 5.4.2 sürümünde giderileceğini öğrendim.