הצטרפו לקבוצות שלנו לקבלת עדכונים מרוכזים פעם בשבוע:

ווטסאפ:
http://wa.dwh.co.il
טלגרם:
http://telegram.dwh.co.il

חיבור ל DB2

More
17 years 4 months ago #3393 by PRO08
חיבור ל DB2 was created by PRO08
שלום

יצרתי חיבור בSSIS לDB2

יצרתי DATA SURCE-> בחרתי Microsoft OLE DB Provider FOR DB2

יצרתי OLE DB SOURCE ו OLE DB DESTINATION ב (SQL 2005). אך הנתונים עוברים כ HEXA.

שמתי לב כאשר אני בוחר יצירת טבלה חדשה ב OLE DB DESTINATION ה TYPES של הטבלאות הם מסוג BINARY או DECIMAL.

איך פותרים את הבעיה ?

Please התחברות to join the conversation.

More
17 years 4 months ago #3401 by eldad
אולי תנסה להשתמש ב driver יותר חדש של מיקרוסופט:

www.microsoft.com/downloads/details.aspx...35cdc&displaylang=en  

או של IBM

Please התחברות to join the conversation.

More
17 years 4 months ago #3415 by PRO08
היי השתמשתי בו, אך העברית יוצאת הפוך.

לכן השתמשתי ב ODBC או לחילופין בלינק SERVER גם עם ODBC

Please התחברות to join the conversation.

More
17 years 4 months ago #3417 by eldad
לשדות בעברית אני משתמש בסקריפט שהופך אותם, אם אתה עושה את זה
זכור להתייחס למספרים ולאנגלית בזהירות

Please התחברות to join the conversation.

More
17 years 3 months ago #3553 by לאורה דניאל
יש לי אותה בעיה .

איזה script אני צריכה לכתוב כדי להתגבר על בעית עיברית -אנגלית.


תודה

Please התחברות to join the conversation.

More
17 years 3 months ago #3554 by רומן
שלום, גם לי יש אותה בעיה,
תעזרו לי בבקשה

תודה

רומן

Please התחברות to join the conversation.

More
17 years 3 months ago #3557 by eldad
יש איזה קוד שקבלתי ושיניתי אותו קצת
תגידו לי האם הוא בסדר

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        Eldad Hertz
-- Create date: <Create Date, ,>
-- Description:  <Description, ,>
-- =============================================
alter FUNCTION TRANSLATE_BRANCHES
(
      @NAME VARCHAR(300)
)
RETURNS VARCHAR(300)
AS
BEGIN
      DECLARE @POS INT
      DECLARE @HebrewWord varchar(200)
      DECLARE @EnglishWord Varchar(200)
      DECLARE @NewName Varchar(200)
      DECLARE @Found int

-- initialazation
set @HebrewWord = ''
set @EnglishWord = ''
set @Found = 0
set @NewName = ''
set @NAME  = ltrim(Rtrim(@NAME))

      SELECT @POS = 1
      WHILE @POS <= LEN(@NAME)
            --2
      BEGIN           
            if (ASCII(SUBSTRING(@NAME,@POS,1)) <> 32)
            begin
                  IF (ASCII(SUBSTRING(@NAME,@POS,1)) < 224)
                  begin
                    SELECT @NAME = STUFF(@NAME, @POS, 1 , CHAR(ASCII(SUBSTRING(@NAME,@POS,1))))
                        set @EnglishWord = @EnglishWord + SUBSTRING(@NAME,@POS,1)
                        set @Found = 0
                        --set @HebrewWord = ''
                        --end if
                  end 
                  else               
                  begin
                        set @HebrewWord = @HebrewWord + SUBSTRING(@NAME,@POS,1)
                        set @Found = 1
                        --set @EnglishWord = ''
                              --end else
                  end
                      set @NewName =  reverse(@EnglishWord) +  ' ' + @HebrewWord

                  IF SUBSTRING(@NAME,@POS,1)= ''''
                  begin
                          SELECT @NAME = STUFF(@NAME, @POS, 1 , '`')     
                              --end if
                  end

            --end if (ASCII(SUBSTRING(@NAME,@POS,1)) <> 32)
      end
      else
      begin
            set @EnglishWord = @EnglishWord + ' '
            set @HebrewWord = @HebrewWord + ' '
            --end else
      end
                  SELECT @POS = @POS + 1
      --end while @POS <= LEN(@NAME)

    END
   



      -- Return the result of the function
      RETURN REVERSE(ltrim(rtrim(@NewName))) --REVERSE (@HebrewWord) +@EnglishWord

END
GO


Please התחברות to join the conversation.

More
17 years 3 months ago #3569 by לאורה דניאל
קודם כל תודה על התשובה ...

אני די חדשה ביצירת SSIS . יצרתי חיבור בSSIS לdb2 .השתמשתי ב PROVIDER
--> Microsoft OLE DB Provider FOR DB2.  הPACKAGE עובד. הבעיה שלי היא עברית.
אני לא כל כך יודעת איך אני משתמשת בקוד שרשמת.

האם יש PROVIDER אחר שעובד בצורה יותר טובה עם AS400 ???
מותקן אצלי  Microsoft SQL Server Enterprise Edition (64-bit)
המחשב שלי הוא X64/

Please התחברות to join the conversation.

More
17 years 3 months ago #3570 by eldad
שלום.
יש driver-ים בתשלום כך שצריך להשמש במה שיש או לטעון את הנתונים מקבצים.
הקוד שרשמתי הוא קוד SQL את יכולה להשתמש בו ע"מ לבצע update לשדה של העברית ע"מ לתקון אותה.

לגבי נושא ה types, לטבלאות אין types לעמודות יש, איזה עמודה הוא נותן לך הצורה שגויה?

Please התחברות to join the conversation.

More
17 years 3 months ago #3573 by לאורה דניאל
אין לי בעיה עם data type
כאשר אני משתמשת ב provider הזה.

אני פשוט הצטרפתי לנושא הזה.


תודה אני אנסה לעשות UPDATE לשדה שמכיל עברית.
פשוט עד עכשיו השתמשתי ב DTS .  עם provider -->
iSeries Access for Windows ODBC /ולא היו לי בעיות עם עברית .ועכשיו עם SSIS
זה נראה הרבה יותר מסובך .

Please התחברות to join the conversation.

More
17 years 3 months ago #3577 by לאורה דניאל
היי
בדקתי את הקוד . הוא לא מתרגם את השורות כמו שצריך. .:(


תודה

Please התחברות to join the conversation.

More
17 years 3 months ago #3579 by eldad
תתני לי רשימה של 5 שדות כפי שאת מקבלת אותם ואיך היית רוצה לראות אותם:
לדוגמה:  שאר :  ראש , ךילהת : תהליך

Please התחברות to join the conversation.

More
17 years 3 months ago #3580 by לאורה דניאל
צירפתי שני קבצים . הראשון הנתונים שאני רואה ב AS400

ושני SQL SERVER


תודה ענקית על התשובות שלך.

Please התחברות to join the conversation.

More
17 years 3 months ago #3581 by eldad
את יכולה להדביק את הערכים? אני רוצה להעתיק קבוצה ב contl C ( העתק הדבק....)

Please התחברות to join the conversation.

More
17 years 3 months ago #3584 by לאורה דניאל
AS/400

COPAXON ע"י טבע מדיקל
ספורט-יעוץ ללא טיפול בגלי הלם
תאום השתלות-DRB1 LOW RESOLUTION -מח עצם
תאום השתלות-DRB1 HIGH RESOLUTION-מח עצם
הסעה באמבולנס/נטן עד 100 ק"מ

SQL Server

COPAXON  לקידמ עבט י"ע
םלה ילגב לופיט אלל ץועי-טרופס
םצע חמ-DRB1 LOW RESOLUTION -תולתשה םואת
םצע חמ - DRB1 HIGH RESOLUTION - תולתשה םואת
מ"ק 100 דע ןטנ/סנלובמאב העסה







Please התחברות to join the conversation.

More
17 years 3 months ago #3588 by eldad
מושלם זה לא, הסידור יזרוק לך את האנגלית לכיוון אחד....
שני את ה alter ל create בהרצה הראשונה


ALTER FUNCTION rev
(
      @NAME VARCHAR(300)
)
RETURNS VARCHAR(300)
AS
BEGIN
      DECLARE @POS INT
      DECLARE @HebrewWord varchar(200)
      DECLARE @EnglishWord Varchar(200)
      DECLARE @NewName Varchar(200)
      DECLARE @Found int


set @HebrewWord = ''
set @EnglishWord = ''
set @Found = 0
set @NewName = ''
set @NAME  = ltrim(Rtrim(@NAME))

      SELECT @POS = 1
      WHILE @POS <= LEN(@NAME)
            --2
      BEGIN           
            if (ASCII(SUBSTRING(@NAME,@POS,1)) <> 32)
            begin
                  IF  (  ( (ASCII(SUBSTRING(@NAME,@POS,1)) < 224) and (ASCII(SUBSTRING(@NAME,@POS,1)) >= 65) )
  or ( (ASCII(SUBSTRING(@NAME,@POS,1)) < 224) and @Found = 0                          )
  or ( (ASCII(SUBSTRING(@NAME,@POS,1)) >= ascii('0') ) and (ASCII(SUBSTRING(@NAME,@POS,1)) <= ascii('9') ) ) 
  )
                  begin
                    SELECT @NAME = STUFF(@NAME, @POS, 1 , CHAR(ASCII(SUBSTRING(@NAME,@POS,1))))
                        set @EnglishWord = @EnglishWord + SUBSTRING(@NAME,@POS,1)
                        set @Found = 0
                  end 
                  else               
                  begin
                        set @HebrewWord = @HebrewWord + SUBSTRING(@NAME,@POS,1)
                        set @Found = 1
                  end
                      set @NewName =  reverse(@EnglishWord) +  ' ' + @HebrewWord

                  IF SUBSTRING(@NAME,@POS,1)= ''''
                  begin
                          SELECT @NAME = STUFF(@NAME, @POS, 1 , '`')     
                  end

      end
     
      else
      begin
            set @EnglishWord = @EnglishWord + ' '
            set @HebrewWord = @HebrewWord + ' '
      end
                  SELECT @POS = @POS + 1
    END

      RETURN REVERSE(ltrim(rtrim(@NewName))) --REVERSE (@HebrewWord) +@EnglishWord

END
GO


declare  @Source as table  ( name  nvarchar(255) )

insert into @Source (name) values ('COPAXON  לקידמ עבט י"ע ')
insert into @Source (name) values ('םלה ילגב לופיט אלל ץועי-טרופס')
insert into @Source (name) values ('םצע חמ-DRB1 LOW RESOLUTION -תולתשה םואת')
insert into @Source (name) values ('םצע חמ - DRB1 HIGH RESOLUTION - תולתשה םואת')
insert into @Source (name) values ('מ"ק 100 דע ןטנ/סנלובמאב העסה')


select name,dbo.[rev](name)
from @Source

Please התחברות to join the conversation.

More
17 years 3 months ago #3591 by לאורה דניאל
תודה ... ;D

Please התחברות to join the conversation.

More
17 years 3 months ago #3592 by eldad
-- זה לא מושלם אבל זה יחסית טוב :


ALTER FUNCTION [dbo].[rev]
(
      @NAME VARCHAR(300)
)
RETURNS VARCHAR(300)
AS
BEGIN
      DECLARE @POS INT
      DECLARE @HebrewWord varchar(200)
      DECLARE @EnglishWord Varchar(200)
      DECLARE @NewName Varchar(200)
      DECLARE @Found int


set @HebrewWord = ''
set @EnglishWord = ''
set @Found = 0
set @NewName = ''
set @NAME  = ltrim(Rtrim(@NAME))

      SELECT @POS = 1
      WHILE @POS <= LEN(@NAME)
            --2
      BEGIN           
            if (ASCII(SUBSTRING(@NAME,@POS,1)) <> 32)
            begin
                  IF  (  ( (ASCII(SUBSTRING(@NAME,@POS,1)) < 224) and (ASCII(SUBSTRING(@NAME,@POS,1)) >= 65) )
  or ( (ASCII(SUBSTRING(@NAME,@POS,1)) < 224) and @Found = 0                          )
  or ( (ASCII(SUBSTRING(@NAME,@POS,1)) >= ascii('0') ) and (ASCII(SUBSTRING(@NAME,@POS,1)) <= ascii('9') ) ) 
  )
                  begin
                    SELECT @NAME = STUFF(@NAME, @POS, 1 , CHAR(ASCII(SUBSTRING(@NAME,@POS,1))))
                        set @EnglishWord = @EnglishWord + SUBSTRING(@NAME,@POS,1)
                        set @Found = 0
                  end 
                  else               
                  begin
                        set @HebrewWord = @HebrewWord + SUBSTRING(@NAME,@POS,1)
                        set @Found = 1
                  end
                      set @NewName =  reverse(@EnglishWord) +  ' ' + @HebrewWord

                  IF SUBSTRING(@NAME,@POS,1)= ''''
                  begin
                          SELECT @NAME = STUFF(@NAME, @POS, 1 , '`')     
                  end

      end
     
      else
      begin
            set @EnglishWord = @EnglishWord + ' '
            set @HebrewWord = @HebrewWord + ' '
      end
                  SELECT @POS = @POS + 1
    END

      RETURN REVERSE(ltrim(rtrim(@NewName))) --REVERSE (@HebrewWord) +@EnglishWord

END

go


declare @t as table ( name  varchar(200))

insert into @t (name) values ('COPAXON  לקידמ עבט י"ע')
insert into @t (name) values ('םלה ילגב לופיט אלל ץועי-טרופס')
insert into @t (name) values ('םצע חמ-DRB1 LOW RESOLUTION -תולתשה םואת')
insert into @t (name) values ('םצע חמ - DRB1 HIGH RESOLUTION - תולתשה םואת')
insert into @t (name) values ('מ"ק 100 דע ןטנ/סנלובמאב העסה')


select name ,dbo.rev(name) from @t

Please התחברות to join the conversation.

Moderators: eldad
Time to create page: 0.333 seconds