PDA

View Full Version : سوال: معادل Record Number در هنگام DTS Import/Export Wizardدر SQL SERVER 2000



ali_abbasi22145
جمعه 14 تیر 1387, 14:52 عصر
سلام
من اين اسكريپت را براي هنگام import تغيير دادم و يك فيلد Sicard از نوع identify دارم كه به شكل 1و2و3و4و...مي باشد يعني مساوي Record Number مي باشد. (البته 341و342و343و... را هم قبول مي كند)
حال معادل Record Number كه با نقطه چين معلوم كردم چيست كه من آن را بنويسم؟

Function Main()

DTSDestination("siCard") = " .....................
DTSDestination("first_name") = DTSSource("firstName")
DTSDestination("last_name") = DTSSource("lastName")
DTSDestination("province") = DTSSource("nationalId")
DTSDestination("state") = DTSSource("birthDate")
DTSDestination("employee_number") = DTSSource("insuranceNumber")
DTSDestination("track1") = DTSSource("ICCSN")
DTSDestination("track2") = DTSSource("ICCSN1")
DTSDestination("city") = DTSSource("Barcode")

Main = DTSTransformStat_OK
End Function

AminSobati
جمعه 14 تیر 1387, 15:55 عصر
دوست عزیزم اگر در جدول مبدا شما Identityها رو تولید کردین، از اونجاییکه احتمالا این اعداد در جداول دیگه بعنوان FK حضور دارند، پس بهتره عینا همونها رو به مقصد منتقل کنین، نه اینکه در مقصد مجددا این اعداد تولید بشن

ali_abbasi22145
جمعه 14 تیر 1387, 17:29 عصر
دوست عزیزم اگر در جدول مبدا شما Identityها رو تولید کردین، از اونجاییکه احتمالا این اعداد در جداول دیگه بعنوان FK حضور دارند، پس بهتره عینا همونها رو به مقصد منتقل کنین، نه اینکه در مقصد مجددا این اعداد تولید بشن

سلام و تشكر
من يك سري جدول از برنامه هاي ديگران Import مي كنم كه فاقد Identity هستند و گرنه كه مشكل Import ندارم! (كه معمولا 90% آنها جدولهاي SQL SERVER 2000 هستند) و مي خواهم در مقصد این اعداد تولید بشوند.

AminSobati
جمعه 14 تیر 1387, 18:25 عصر
مشکلی که عنوان کردم هنوز باقیه (FK) ولی به هر حال اگر میبایست Identity در مقصد هنگام Import تولید بشه، شما لازم نیست فیلد Identity رو در Import قید کنین. اگر فیلد مورد نظر خاصیت Identity رو در مقصد داشته باشه، اعداد از 1 تا N براتون در حین Import تولید میشه

ali_abbasi22145
جمعه 14 تیر 1387, 19:40 عصر
مشکلی که عنوان کردم هنوز باقیه (FK) ولی به هر حال اگر میبایست Identity در مقصد هنگام Import تولید بشه، شما لازم نیست فیلد Identity رو در Import قید کنین. اگر فیلد مورد نظر خاصیت Identity رو در مقصد داشته باشه، اعداد از 1 تا N براتون در حین Import تولید میشه

سلام
من همين Identity را در جدول عكس دارم اما اين فيلد Identity در هنگام import عكس خودم با Application نوشته خودم توليد مي كنم. اصلا آقاي ثباتي عزيز فراموش كن Identity براي جدول ديگر خودم را ، با اين وصف بگوييد چه كار كنم . چون Identity اعداد از 1 تا N براتون در حین Import تولید میشه را تست كردم و خطاي زير را داد:

رضا عربلو
جمعه 14 تیر 1387, 21:18 عصر
خوب سورس ات به جای اینکه یک table باشد یک کوئری یا ویو باشد که شامل اون فیلد Row number شما باشد، مشکل حل است.

AminSobati
جمعه 14 تیر 1387, 22:58 عصر
به نظر میرسه از اکسل دارین به SQL Server میبرین و مشکل در این عکس مربوط به Null پذیر نبودن فیلد اصلی شماست. امکانش هست که موقتا فیلد رو Allow Null کنین برای Import؟

ali_abbasi22145
شنبه 15 تیر 1387, 08:58 صبح
به نظر میرسه از اکسل دارین به SQL Server میبرین و مشکل در این عکس مربوط به Null پذیر نبودن فیلد اصلی شماست. امکانش هست که موقتا فیلد رو Allow Null کنین برای Import؟

سلام
فيلد sicard من primery key است و فیلد Allow Null هست و موقتا primery key هم برداشتم بازهم نشد و دقيقا همان خطا را مي دهد، راه ديگري براي توليد Idenify نيست؟

يك سوال ديگر آيا با SQL Qurey Analyser مي توان عمل import را انجام داد؟

ali_abbasi22145
دوشنبه 17 تیر 1387, 13:08 عصر
سلام
کسی نبود جواب به ما بدهد؟

رضا عربلو
دوشنبه 17 تیر 1387, 17:56 عصر
پیشنهاد می کنم توسط ويزارد Import/Export خود اس کیو ال سرور یک dts Pakage درست کنی بعد اگر از صحت آن اطمینان حاصل کردی آن را توسط برنامه ات اجرا کنی.
برای مثال
http://geekswithblogs.net/azamsharp/archive/2005/10/19/57460.aspx

ali_abbasi22145
سه شنبه 18 تیر 1387, 09:50 صبح
سلام
اصلا يك راه راحتتر من يك فيلد مثلا sicard در بانك مبداء SQL SERVER 2000 مي سازم و بعد بخواهم اين فيلد sicard من شماره ركوردها ( Record Number ) يكي يكي در آن بريزم، اسكريپتي كه در SQL Qurey Analyser بايد بنويسم چيست؟