نمایش نتایج 1 تا 19 از 19

نام تاپیک: تبدیل db از foxpro به sql2005

  1. #1

    تبدیل db از foxpro به sql2005

    سلام ببخشید اگر سوالم تکراری .
    خیلی گشتم ولی چیزی که می خواستم رو پیدا نکردم.
    من برای خواندن اطلاعات از بانک foxpro از کد زیر استفاده کردم.
     Dim ds As New DataSet
    With OpenFileDialog1
    .RestoreDirectory = True
    .FileName = ""
    .Filter = "DataBase Files (*.DBF)|*.DBF"
    End With
    Dim dir_name As String
    Dim file_name As String
    Dim result2 As DialogResult = OpenFileDialog1.ShowDialog()
    If (result2 = System.Windows.Forms.DialogResult.OK) Then

    Try
    Dim myDataSource As String
    myDataSource = OpenFileDialog1.FileName
    With myDataSource
    file_name = .Substring(.LastIndexOf("\") + 1, .LastIndexOf(".") - .LastIndexOf("\") - 1)
    dir_name = .Substring(0, .LastIndexOf("\"))
    End With
    MsgBox(dir_name)
    DataGridView1.DataSource = ""
    ds = New DataSet
    ds.Clear()

    Dim connectionString As String = "Driver={Driver do Microsoft dBase (*.dbf)};collatingsequence=ASCII;defaultdir=" & dir_name & ";deleted=0;driverid=277;fil=dBase IV;maxbuffersize=2048;maxscanrows=8;pagetimeout=5; safetransactions=0;statistics=0;threads=3;uid=admi n;usercommitsync=Yes"
    'Dim connectionString As String = "Driver={Driver do Microsoft dBase (*.dbf)};collatingsequence=ASCII;defaultdir=C:\BAN K;deleted=0;driverid=277;fil=dBase IV;filedsn=C:\BANK\sdf.dsn;maxbuffersize=2048;maxs canrows=8;pagetimeout=5;safetransactions=0;statist ics=0;threads=3;uid=admin;usercommitsync=Yes"
    Dim myQueryString As String
    myQueryString = "SELECT * FROM " & file_name
    GetDataSetFromAdapter(ds, connectionString, myQueryString)
    DataGridView1.DataSource = ds.Tables(0)

    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    End If
    End Sub

    Private Function GetDataSetFromAdapter(ByVal dataSet As DataSet, ByVal connectionString As String, ByVal queryString As String) As DataSet
    Using connection As New Odbc.OdbcConnection(connectionString)
    Dim adapter As New Odbc.OdbcDataAdapter(queryString, connection)
    Try
    connection.Open()
    adapter.Fill(dataSet)
    DataGridView1.DataSource = dataSet.Tables("0")
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try

    End Using
    Return dataSet
    End Function
    تا اینجا کدم اجرا میشه و مشکلی نداره ولی الان می خوام که برای select ام شرط بزارم یعنی

                    myQueryString = "SELECT * FROM "  & file_name & " where [personid]='00000000' "

    همش error می ده و میگه syntax ام اشتباه .
    ممنون میشم اگر کمکم کنین . خیلی فوریه




  2. #2

    نقل قول: تبدیل db از foxpro به sql2005

    دوستان مشکلم حل شد باید اینطوری می نوشتم

    myQueryString = "SELECT * FROM " & file_name  & " where ([personid]='00000000') "
    حالا یه مشکل دیگه دارم
    اطلاعات فارسیم به هم میریزه باید چی کار کنم که اطلاعات فارسی رو نشون بده؟؟؟؟

  3. #3

    نقل قول: تبدیل db از foxpro به sql2005

    تا اونجا که میدونم این سوال شما ، مشکل خیلیهاست.
    دوستان اگه کدی با دات نت دارند که دیتا را از فاکس تحت داس بخونه و توی sql یا access بنویسه ، همچنین عملیات تبدیل فونت (از ایران سیستم به ویندوز) به درستی انجام بشه ، را اینجا بذارند ، ضمن اینکه باعث امتنان همه علاقمندان خواهد بود ،گامی است جهت حل یک مشکل تقریبا حل نشده .
    من که خیلی به اینچنین کدی توی دات نت نیاز دارم که DBF تحت داس با فونت ایران سیستم را بخونه و درون تیبل معادلش توی Access و یا SQL
    بنویسه و فونتها توی ویندوز صحیح باشند (و بالعکس) .
    همه اینترنت رو زیر و رو کردم ، صحبت زیاد شده ، تاپیک تا دلت بخواد و تعدای کد تحت VB6 و Visual Foxpro موجود است ، همه جا هم گفتند ، اینو ببین برو تبدیل کن به اون چیزی که میخوای ، اما نشد که نشد .

  4. #4

    نقل قول: تبدیل db از foxpro به sql2005

    دوستان اگر اطلاعاتی تو این زمینه دارید ممنون میشم بگید . من هیچ چیزی راجع به ایران سیستم و ... نمی دونم

  5. #5
    کاربر دائمی آواتار amin_iman82
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    Visual Studio.net
    پست
    205

    نقل قول: تبدیل db از foxpro به sql2005

    سلام خدمت دوستان.
    به خاطر غیبتم منو ببخشید. خیلی سرم شلوغه.

    این کد رو با vb.net 2010 نوشتم برای تبدیل متن نوشته شده با ایران سیستم به متن ویندوز.
    با کمی دستکاری که زحمتش گردنه خودتون باشه برعکس این کار رو هم انجام میده.

    البته دست دوستان در این تاپیک درد نکنه
    من Dll مورد نظر رو از این تاپیک دانلود کردم و فقط با چند خط کد ازش استفاده کردم.

    موفق باشید.
    فایل های ضمیمه فایل های ضمیمه

  6. #6

    نقل قول: تبدیل db از foxpro به sql2005

    دوست من ممنون بابت توجه و همچنین کدتون
    ولی اینکه توی دات نت کانکشنی بنویسید که DBF Foxpro تحت داس را بخونه و فونتها را توی تیبل Access بنویسه ، داستانیه که به این راحتیا که فکر میکنین نیست، میگین نه ، امتحان کنید (یک فایل DBF فاکس پرو داس که رکورداش حاوی متن فارسی ایران سیستم باشه را انتخاب کنید و توی برنامتون بهش کانکت بشین (مثلا با ADO.Net) و سطرها و یا ستونها را با کانورتر خودتون تبدیل کنید توی اکسس بنویسید و بعدش تیبل اکسس را باز کنید ، ببینید همونیه که فکر می کنین ؟)
    من که موهام سفید شد تو این کد ، ولی نشد که نشد ... ، شایدم خارج از محدوده سواد بنده است

  7. #7

    نقل قول: تبدیل db از foxpro به sql2005

    سلام.
    ممنون از هشداری که دادین.
    من اطلاعات رو توی گرید دیدم درست بود . منظورتون اینه که موقع ذخیره تو database دوباره به هم میریزه؟

  8. #8
    کاربر دائمی آواتار amin_iman82
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    Visual Studio.net
    پست
    205

    نقل قول: تبدیل db از foxpro به sql2005

    نقل قول نوشته شده توسط ashkan209 مشاهده تاپیک
    دوست من ممنون بابت توجه و همچنین کدتون
    ولی اینکه توی دات نت کانکشنی بنویسید که DBF Foxpro تحت داس را بخونه و فونتها را توی تیبل Access بنویسه ، داستانیه که به این راحتیا که فکر میکنین نیست، میگین نه ، امتحان کنید (یک فایل DBF فاکس پرو داس که رکورداش حاوی متن فارسی ایران سیستم باشه را انتخاب کنید و توی برنامتون بهش کانکت بشین (مثلا با ADO.Net) و سطرها و یا ستونها را با کانورتر خودتون تبدیل کنید توی اکسس بنویسید و بعدش تیبل اکسس را باز کنید ، ببینید همونیه که فکر می کنین ؟)
    من که موهام سفید شد تو این کد ، ولی نشد که نشد ... ، شایدم خارج از محدوده سواد بنده است
    دوست عزیز شما میتونید همین فایل رو داخل Access باز کنید ، امتحان نکردم ولی فکر کنم حتی میشه به SQL هم Attach کرد.

    داخل گراید نشون دادن هم راه داره.
    شما اول اطلاعات رو داخل گراید میریزید ، بعد بوسیله یه For کل سطرها رو از ایران سیستم به فونت ویندوز تغییر میدید. اینطوری اطلاعات بصورت خوانا داخل گراید دیده میشه. (اصولی نیست ولی تنها راهه )

    اگه احتیاج به ذخیره اطلاعات دارید که میشه بر عکس این کار رو انجام داد ، شما داخل TextBox متن رو مینویسید بعد تبدیلش میکنید به ایران سیستم و ذخیره میکنید.

    موفق باشید.

  9. #9
    کاربر دائمی آواتار amin_iman82
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    Visual Studio.net
    پست
    205

    نقل قول: تبدیل db از foxpro به sql2005

    نقل قول نوشته شده توسط ashkan209 مشاهده تاپیک
    دوست من ممنون بابت توجه و همچنین کدتون
    ولی اینکه توی دات نت کانکشنی بنویسید که DBF Foxpro تحت داس را بخونه و فونتها را توی تیبل Access بنویسه ، داستانیه که به این راحتیا که فکر میکنین نیست، میگین نه ، امتحان کنید (یک فایل DBF فاکس پرو داس که رکورداش حاوی متن فارسی ایران سیستم باشه را انتخاب کنید و توی برنامتون بهش کانکت بشین (مثلا با ADO.Net) و سطرها و یا ستونها را با کانورتر خودتون تبدیل کنید توی اکسس بنویسید و بعدش تیبل اکسس را باز کنید ، ببینید همونیه که فکر می کنین ؟)
    من که موهام سفید شد تو این کد ، ولی نشد که نشد ... ، شایدم خارج از محدوده سواد بنده است
    دوست عزیز شما میتونید همین فایل رو داخل Access باز کنید ، امتحان نکردم ولی فکر کنم حتی میشه به SQL هم Attach کرد.

    داخل گراید نشون دادن هم را داره.
    شما اول اطلاعات رو داخل گراید میریزید ، بعد بوسیله یه For کل سطرها رو از ایران سیستم به فونت ویندوز تغییر میدید. اینطوری اطلاعات بصورت خوانا داخل گراید دیده میشه. (اصولی نیست ولی تنها راهه )

    اگه احتیاج به ذخیره اطلاعات دارید که میشه بر عکس این کار رو انجام داد ، شما داخل TextBox متن رو مینویسید بعد تبدیلش میکنید به ایران سیستم و ذخیره میکنید.

    موفق باشید.

  10. #10

    Unhappy نقل قول: تبدیل db از foxpro به sql2005

    نقل قول نوشته شده توسط b.mahsa مشاهده تاپیک
    سلام.
    منظورتون اینه که موقع ذخیره تو database دوباره به هم میریزه؟
    منظورم همونیه که نوشتم ، نمیدونم کد و کانورت شما چیه و آیا همونیه که شرحش دادم ؟!
    اما منظور من اینه ، بازم میگم {dbf داس با کاراکتر فارسی ایران سیستم که درون یه برنامه دات نت قراره با ADO.net خونده بشه و بعدش کانورت کدپیج بشه (با کانورترها و کلاسهای موجود نوشته شده توسط دوستان همین سایت و یا هر چیزی) و string کانورت شده که حالا به زعم ما داری کد پیج ویندوزیه ، رو با ADO.net (JET) و توی همون برنامه دات نت توی یه تیبل اکسس بنویسیم ، و حالا اکسس را باز کنیم و یا تیبل را توی برناممون توی یه گرید ببینیم} کاراکترها همچنان ناخوانا هستند

    شاید برای دوستان کاربرد عملی این چیزی که گفتم مورد سوال باشد. >>> نرم افزار حقوق و دستمزد که با دات نت می نویسیم که قراره فایلهای بیمه تامین اجتماعی نیز تولید کنه (1- این فایلها می بایست dbf با کد پیج داس و فونت ایران سیستم باشند ، بنابراین به Windows to Dos Converter تو برنامه نیاز داریم . 2- ضمنا همین نرم افزار می بایست فایل مشاغل را از یک فایل dbf با کد پیج داس و فونت ایران سیستم ،که تامین اجتماعی در اختیارمون میذاره بخونه و برای کاربردهای بعدی توی دیتابیس ویندوزیمون کانورت و ذخیره کنه ، بنابراین به Dos to Windows Converter نیاز داریم

    حالا اگه دوستان درباره این موضوع بجایی رسیده اند (توی دات نت) لطفا ایده و یا نمونه کدشون رو اینجا بذارن

  11. #11

    نقل قول: تبدیل db از foxpro به sql2005

    نقل قول نوشته شده توسط amin_iman82 مشاهده تاپیک
    دوست عزیز شما میتونید همین فایل رو داخل Access باز کنید ، امتحان نکردم ولی فکر کنم حتی میشه به SQL هم Attach کرد.

    داخل گراید نشون دادن هم را داره.
    شما اول اطلاعات رو داخل گراید میریزید ، بعد بوسیله یه For کل سطرها رو از ایران سیستم به فونت ویندوز تغییر میدید. اینطوری اطلاعات بصورت خوانا داخل گراید دیده میشه. (اصولی نیست ولی تنها راهه )

    اگه احتیاج به ذخیره اطلاعات دارید که میشه بر عکس این کار رو انجام داد ، شما داخل TextBox متن رو مینویسید بعد تبدیلش میکنید به ایران سیستم و ذخیره میکنید.

    موفق باشید.
    ممنون
    ولی عینا چیزی که عرض کردم منظورمه ، بحث سه تا چیزه مجزا و بغرنجه 1- دیتاهایی که بین دو تا دیتابیس با پلاتفرم کاملا متفاوت قراره رد و بدل بشن 2- دیتاهایی که با دو کدپیج متفاوت قراره رد وبدل بشن 3 - هر کدوم از این کد پیجها متعلق به یک پلاتفرم دیتابیسه.
    ضمنا قبلا من این نرم افزار رو با VB6 و با مبدل کدپیج و انتقال بین دو دیتابیس مجزا انجام داده ام (دست و پا شکسته و با کلی ترفند و راه حلهای عجیب و غریب که خودم هم ازش خوشم نیومد) ، ولی الان میخام همینو با دات نت بنویسم !!
    راهها و کانورترهای زیادی تست کرده ام ، به جواب نرسیدند

  12. #12
    کاربر دائمی آواتار amin_iman82
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    Visual Studio.net
    پست
    205

    نقل قول: تبدیل db از foxpro به sql2005

    به خدا میشه ، چرا باور نمیکنید.

    من اول بانک FoxPro رو با Access 2007 باز کردم.
    بعد یه بانک Access درست میشه که لینک میشه به بانک FoxPro و جداول اون رو نشون میده.

    بانک Access رو داخل گراید اول نشون دادم ، بعد داخل گراید بعدی اطلاعات رو دستی تبدیل کردم.

    حالا میشه اطلاعات گراید دوم رو داخل هر بانکی مثلا SQL Sever ذخیره کرد.

    اگه بازم نشد بگید

    کد رو کمی تغییر دادم ، این بهتر جواب میده

    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله amin_iman82 : پنج شنبه 06 خرداد 1389 در 20:51 عصر

  13. #13

    نقل قول: تبدیل db از foxpro به sql2005

    بی نهایت ممنون از توجهتون و همچنین بابت کدتون
    اما Solution که باز کردم روی خط اول خطا داشت که نیاز به Add شدن dll به refrence بود (err1)
    در زمان add کردن هم خطای دیگری مشاهده شد ، که نهایتا dll به برنامه add نشد و نتونستم تست کنم (err2)
    ضمنا این Dll به پروژه خودم هم add نشد ، بنا به همون دلیل خطای دوم (err2)
    عکس های ضمیمه عکس های ضمیمه

  14. #14

    نقل قول: تبدیل db از foxpro به sql2005

    سلام
    یک کمی dll بد قلقه بد نصب میشه.
    اول تو toolbox از منوی choos item اضافش کنید بعد add refrenso بزنید add میشه. البته یه بار visual studio رو reset کنید.

  15. #15

    نقل قول: تبدیل db از foxpro به sql2005

    نقل قول نوشته شده توسط b.mahsa مشاهده تاپیک
    سلام
    یک کمی dll بد قلقه بد نصب میشه.
    اول تو toolbox از منوی choos item اضافش کنید بعد add refrenso بزنید add میشه. البته یه بار visual studio رو reset کنید.
    ممنون ، add شد . میرم که تستش کنم

  16. #16

    نقل قول: تبدیل db از foxpro به sql2005

    آقا AMIN دستتون درد نکنه بابت dll و اون تکه کد
    دارم توی برنامه ام تستش میکنم ، فعلا قسمت داس به ویندوزش تست شد و درست عمل میکنه ، فقط یه مشکل (تا اینجای کار) این dll داره ، اونم اینه که روی حروف چندتایی فارسی (چسبان و غیر چسبان) بصورت هوشمند عمل نمیکنه و همه رو می چسبونه بهم
    مثلا "لحاف باف" کانورت میشه به "لحافباف" و موردهای اینچنینی
    ضمنا یه دونه dll هست که ماله تامین اجتماعیه و دارای دوتا کلاس IranToWin و WinToIran هست و همین dllتوی نرم افزار خودشون بخوبی و کاملا صحیح عمل میکنه ، اما من کانورتهایی که باهاش انجام دادم ، خروجیهاش همچنان کاراکترهای اجق وجق بود . اگه فرصت کردید شما هم یه تست انجام بدین
    بازم ممنون
    فایل های ضمیمه فایل های ضمیمه

  17. #17
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    نصف جهان
    پست
    89

    نقل قول: تبدیل db از foxpro به sql2005

    با سلام
    قابل توجه دوستاني كه داخل اين تاپيك كار مي كنند :
    1- ورژن فايل dll ي كه استفاده مي كنيد پايينه و مشكلاتي هم داشته كه در ريويژن هاي بعديش برطرف شده ( فعلاً آخرين ورژنش 1003 هست ) بهتره دانلود كنيد و از اون استفاده كنيد .
    2- در جواب دوستي كه گفته متن ها به هم مي چسبند مثل "لحاف باف" كه به "لحافباف" تبديل شده :
    وقتي شما متن داس رو وارد تابع مي كنيد دوحالت وجود داره يا بهتره بگم پيش مياد :
    *- يا اينكه مي خواهيد طول متن شما تغييري نكنه . براي اينكه در طول برنامه ممكنه يك error پيش بياد مثلاً طول فيلدي كه انتخاب كرديد پنجه (5) ولي كلمه تحت داس شما بدون حرف فاصله " " پنج حرفه كه در صورت اضافه كردن فضاي خالي برنامه error ميده
    *- يا اينكه تعداد حروف براي شما مهم نيست و ميخواهيد كه كلمات درست نوشته بشه
    ==> براي همين منظور يك پارامتر دومي با مقدار boolean در تابع تبديلي استفاده شده كه مقدار پيش فرض آن false هست و بصورت روش اول عمل مي كنه . اگه اين مقدار رو true بديد مثل روش دوم عمل مي كنه

    با تشكر

  18. #18

    نقل قول: تبدیل db از foxpro به sql2005

    نقل قول نوشته شده توسط M_Man_M مشاهده تاپیک
    با سلام
    قابل توجه دوستاني كه داخل اين تاپيك كار مي كنند :
    1- ورژن فايل dll ي كه استفاده مي كنيد پايينه و مشكلاتي هم داشته كه در ريويژن هاي بعديش برطرف شده ( فعلاً آخرين ورژنش 1003 هست ) بهتره دانلود كنيد و از اون استفاده كنيد .
    2- در جواب دوستي كه گفته متن ها به هم مي چسبند مثل "لحاف باف" كه به "لحافباف" تبديل شده :
    وقتي شما متن داس رو وارد تابع مي كنيد دوحالت وجود داره يا بهتره بگم پيش مياد :
    *- يا اينكه مي خواهيد طول متن شما تغييري نكنه . براي اينكه در طول برنامه ممكنه يك error پيش بياد مثلاً طول فيلدي كه انتخاب كرديد پنجه (5) ولي كلمه تحت داس شما بدون حرف فاصله " " پنج حرفه كه در صورت اضافه كردن فضاي خالي برنامه error ميده
    *- يا اينكه تعداد حروف براي شما مهم نيست و ميخواهيد كه كلمات درست نوشته بشه
    ==> براي همين منظور يك پارامتر دومي با مقدار boolean در تابع تبديلي استفاده شده كه مقدار پيش فرض آن false هست و بصورت روش اول عمل مي كنه . اگه اين مقدار رو true بديد مثل روش دوم عمل مي كنه

    با تشكر
    دوست من ، ممنون بابت توجهتون
    1- ورژن جدید رو اگه در اختیار دارین ، ممنون میشم همینجا up کنین یا لینکش بذارین
    2-تکنیک رو تست کردم ، حق با شما بود . که بنده ازش مطلع نبودم
    سپاس فراوان

  19. #19
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    نصف جهان
    پست
    89

    نقل قول: تبدیل db از foxpro به sql2005

    با سلام

    براي دريافت آخرين ريويژن به آدرس زير مراجعه كنيد :

    https://barnamenevis.org/showth...W2D_D2W&page=6

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •