saeedhatmi
یک شنبه 21 خرداد 1396, 11:40 صبح
با سلام به همه اساتید محترم
من ی فایل تکس دارم که شامل 100 ها رکورد هستش تلفیقی از عدد و حروف فارسیه حالا از طریق بالک میخوام در جدول درجش کنم هنگامی که از طریق substring میخوام در جدول بریزم قروقاطی میریزه مثلا ستون کد با ی ستون دیگه پر میشه علتشم میدونم به خاطر اون ستون اخر هستش که فارسیه.چطور این مشکلو حل کنم؟
USE [Salary];
GO
/****** Object: StoredProcedure [dbo].[Read_FromBackFile] Script Date: 21/03/1396 11:12:40 ق.ظ ******/
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
ALTER PROCEDURE [dbo].[Read_FromBackFile] -- 'D:\NOPARD950204.txt'
--DECLARE
@Address NVARCHAR(500)
AS
BEGIN
DECLARE @query NVARCHAR(3000);
SET @query = N'
Create table #TempHesabdari1
(
Line NVARCHAR(MAX)
)
BULK INSERT #TempHesabdari1
FROM ''@Address''
WITH ( CODEPAGE = 1256 )
SELECT SUBSTRING(Line, 1, 4) group_code ,
SUBSTRING(Line, 5, 6) Date ,
SUBSTRING(Line, 11, 3) Cause_settlement ,
SUBSTRING(Line, 14, 13) Acc_No ,
SUBSTRING(Line, 27, 15) Mablagh ,
SUBSTRING(Line, 42, 4) range ,
SUBSTRING(Line, 47, 34) title,
-- RTRIM(LTRIM(REPLACE(Line,SUBSTRING(dbo.fn_LeftNume ric(Line),1, 45), ''''))) Title,
row_number() over (order by (select 0) ) Rn
Into #T2
FROM #TempHesabdari1
WHERE LEN(Line) > 0
INSERT INTO [Tbl_BackFile]
(Code_Daste,
Date ,
Cause_settlement ,
Sh_hesab,
Mablagh,
Code_Marhale,
Title
)
select group_code,
Date ,
Cause_settlement ,
Acc_No,
Mablagh,
range,
Title
FROM #T2
where Rn >0
';
SET @query = REPLACE(@query, '@Address', @Address);
--SELECT @query
EXECUTE ( @query);
END;
من ی فایل تکس دارم که شامل 100 ها رکورد هستش تلفیقی از عدد و حروف فارسیه حالا از طریق بالک میخوام در جدول درجش کنم هنگامی که از طریق substring میخوام در جدول بریزم قروقاطی میریزه مثلا ستون کد با ی ستون دیگه پر میشه علتشم میدونم به خاطر اون ستون اخر هستش که فارسیه.چطور این مشکلو حل کنم؟
USE [Salary];
GO
/****** Object: StoredProcedure [dbo].[Read_FromBackFile] Script Date: 21/03/1396 11:12:40 ق.ظ ******/
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
ALTER PROCEDURE [dbo].[Read_FromBackFile] -- 'D:\NOPARD950204.txt'
--DECLARE
@Address NVARCHAR(500)
AS
BEGIN
DECLARE @query NVARCHAR(3000);
SET @query = N'
Create table #TempHesabdari1
(
Line NVARCHAR(MAX)
)
BULK INSERT #TempHesabdari1
FROM ''@Address''
WITH ( CODEPAGE = 1256 )
SELECT SUBSTRING(Line, 1, 4) group_code ,
SUBSTRING(Line, 5, 6) Date ,
SUBSTRING(Line, 11, 3) Cause_settlement ,
SUBSTRING(Line, 14, 13) Acc_No ,
SUBSTRING(Line, 27, 15) Mablagh ,
SUBSTRING(Line, 42, 4) range ,
SUBSTRING(Line, 47, 34) title,
-- RTRIM(LTRIM(REPLACE(Line,SUBSTRING(dbo.fn_LeftNume ric(Line),1, 45), ''''))) Title,
row_number() over (order by (select 0) ) Rn
Into #T2
FROM #TempHesabdari1
WHERE LEN(Line) > 0
INSERT INTO [Tbl_BackFile]
(Code_Daste,
Date ,
Cause_settlement ,
Sh_hesab,
Mablagh,
Code_Marhale,
Title
)
select group_code,
Date ,
Cause_settlement ,
Acc_No,
Mablagh,
range,
Title
FROM #T2
where Rn >0
';
SET @query = REPLACE(@query, '@Address', @Address);
--SELECT @query
EXECUTE ( @query);
END;