เนื่องจากไฟล์ Database ที่เราได้มาเป็นของจีนจึงต้องทำการ clear data ทั้งหมดก่อนไม่งัน ไอดีเก่าจะมีอยู่เยอะมาก
แล้ว จะตั้งชื่อภาษาไทยไม่ได้
วิธี Clear database เพื่อเล่นใหม่
ใช้ Query Analyzer ของ SQL
1.เลือกTab DB ด้านบนเป็น Rangame1 แล้ว copy Code ด้านล่างไปวาง
TRUNCATE table ChaFriend
TRUNCATE table ChaInfo
TRUNCATE table UserInven
TRUNCATE table GuildAlliance
TRUNCATE table GuildRegion
แล้วสั่งรันโดยการกดปุ่ม ถูกสีนำเงิน แล้วรอสักพักค่อยกดปุม play หรือปุ่มสีเขียวๆ ด้านบน
2.เลือกแทป DB ด้านบนเป็น RanLog แล้ว copy Code ด้านล่างไปวาง
TRUNCATE table LogItemExchange
TRUNCATE table LogServerState
TRUNCATE table LogAction
TRUNCATE table LogItemMax
แล้วสั่งรันโดยการกดปุ่ม ถูกสีนำเงิน แล้วรอสักพักค่อยกดปุม play หรือปุ่มสีเขียวๆ ด้านบน
3.เลือกแทป DBด้านบนเป็น RanShop แล้ว copy Code ด้านล่างไปวาง
TRUNCATE table LogShopPurchase
TRUNCATE table ShopPurchase
TRUNCATE table ShopItemMap
แล้วสั่งรันโดยการกดปุ่ม ถูกสีนำเงิน แล้วรอสักพักค่อยกดปุม play หรือปุ่มสีเขียวๆ ด้านบน
4.เลือกแทป DB ด้านบนเป็น RanUser แล้ว copy Code ด้านล่างไปวาง
TRUNCATE table CheckId
TRUNCATE table LogGameTime
TRUNCATE table LogGmCmd
TRUNCATE table LogLogin
TRUNCATE table newcheckid
TRUNCATE table StatGameTime
TRUNCATE table StatLogin
TRUNCATE table UserInfo
แล้วสั่งรันโดยการกดปุ่ม ถูกสีนำเงิน แล้วรอสักพักค่อยกดปุม play หรือปุ่มสีเขียวๆ ด้านบน
วิธีทำตั้งชื่อตัวละครเป็นภาษาไทย
ใช้โปรแกรม Query Analyzer นะครับ
Connect เข้า Sql Server ของเรา
Copy Code ด้านล่างไปใส่แล้วสั่งรันโดยการกดปุ่ม ถูกสีนำเงิน แล้วรอสักพักค่อยกดปุม play หรือปุ่มสีเขียวๆ ด้านบน
ALTER DATABASE [RanGame1] COLLATE Thai_CI_AS
GO
ALTER DATABASE [RanLog] COLLATE Thai_CI_AS
GO
ALTER DATABASE [RanShop] COLLATE Thai_CI_AS
GO
ALTER DATABASE [RanUser] COLLATE Thai_CI_AS
GO
จากนั้นใช้โปรแกรม Enterprise Manager ไปที่ DB:Rangame1-> คลิกขวาที่ table chainfo -> เลือก Design Table
เลือกที่คำว่าChaName,ChaGuName แล้วมองไปที่ด้านล่าง ให้เปลื่ยน Collection ไปเป็น Thai_CI_AS
กดเซฟแล้วไปแก้ที่ Table ตัวต่อไปนี้ด้วยครับ
GuildInfo->GuName,GuNotice
DB:Ranlog
HackProgramList->HackProgramName
ItemList->ItemName
LogExchangeFlag->ExchangeName
LogHackProgram->HackComment
LogMakeType->MakeName
SkillList->SkillName
DB:Ranshop
LogShopPurchase->PurKey
ShopItemMap->ItemName
ShopPurchase->PurKey,UserUID
ShopPurFlag->PurFlagName
DB:Ranuser
BlockAddress->BlockAddress,BlockReason
CheckId->Id
FullUserInfo->UserName,UserID,UserPass,UserPass2,BodyID,Sex,Email,BirthY,BirthM,BirthD,TEL,Mobile,QQ,MSN,City1,City2,Post,Address,SafeId
IPInfo->IpAddress
LogGameTime->UserID
LogGmCmd->GmCmd
LogLogin->UserID,LogIpAddress
newcheckid->Id
ServerGroup->SGName,OdbcName,OdbcUserID,OdbcPassword,OdbcLogName,OdbcLogUserID,OdbcLogPassword
UserInfo->UserName,UserID,UserPass,UserPass2,ChaName
วิธี Clear database เพื่อเล่นใหม่
ใช้ Query Analyzer
Copy Code ด้านล่างไปใส่แล้วสั่งรันโดยการกดปุ่ม ถูกสีนำเงิน แล้วรอสักพักค่อยกดปุม play หรือปุ่มสีเขียวๆ ด้านบน
TRUNCATE table ChaFriend
TRUNCATE table ChaInfo
TRUNCATE table UserInven
ผมจะแบ่ง เป็น หมวดไว้นะครับ
เพราะ database จะมี 4 หมวด
๙๙๙ หรือใช้โค้ดด้านล่างนี้ ๙๙๙
////////////////////////////////////////////////////////////////////////////////////////////////////////////
DECLARE @collate nvarchar(100);
DECLARE @table nvarchar(255);
DECLARE @column_name nvarchar(255);
DECLARE @column_id int;
DECLARE @data_type nvarchar(255);
DECLARE @max_length int;
DECLARE @row_id int;
DECLARE @sql nvarchar(max);
DECLARE @sql_column nvarchar(max);
DECLARE @is_Nullable bit;
DECLARE @null nvarchar(25);
SET @collate = 'Thai_CI_AI';
DECLARE local_table_cursor CURSOR FOR
SELECT [name]
FROM sysobjects
WHERE OBJECTPROPERTY(id, N'IsUserTable') = 1
OPEN local_table_cursor
FETCH NEXT FROM local_table_cursor
INTO @table
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE local_change_cursor CURSOR FOR
SELECT ROW_NUMBER() OVER (ORDER BY c.column_id) AS row_id
, c.name column_name
, t.Name data_type
, c.max_length
, c.column_id
, c.is_nullable
FROM sys.columns c
JOIN sys.types t ON c.system_type_id = t.system_type_id
LEFT OUTER JOIN sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE c.object_id = OBJECT_ID(@table)
ORDER BY c.column_id
OPEN local_change_cursor
FETCH NEXT FROM local_change_cursor
INTO @row_id, @column_name, @data_type, @max_length, @column_id, @is_nullable
WHILE @@FETCH_STATUS = 0
BEGIN
IF (@max_length = -1) SET @max_length = 4000;
set @null=' NOT NULL'
if (@is_nullable = 1) Set @null=' NULL'
if (@Data_type='nvarchar') set @max_length=cast(@max_length/2 as bigint)
IF (@data_type LIKE '%char%')
BEGIN TRY
SET @sql = 'ALTER TABLE ' + @table + ' ALTER COLUMN [' + rtrim(@column_name) + '] ' + @data_type + '(' + CAST(@max_length AS nvarchar(100)) + ') COLLATE ' + @collate + @null
PRINT @sql
EXEC sp_executesql @sql
END TRY
BEGIN CATCH
PRINT 'ERROR: Some index or contraint rely on the column ' + @column_name + '. No conversion possible.'
PRINT @sql
END CATCH
FETCH NEXT FROM local_change_cursor
INTO @row_id, @column_name, @data_type, @max_length, @column_id, @is_Nullable
END
CLOSE local_change_cursor
DEALLOCATE local_change_cursor
FETCH NEXT FROM local_table_cursor
INTO @table
END
CLOSE local_table_cursor
DEALLOCATE local_table_cursor
GO
ไม่มีความคิดเห็น:
แสดงความคิดเห็น