View Full Version : مشکل انتقال از Access به SQL
بابک زواری
یک شنبه 29 شهریور 1383, 14:53 عصر
سلام دوستان
من یک کنترل ado دارم که اتصال به یک بانک sql دارد و از طرفی میخوام اطلاعاتی
رو از داخل یک بانک access به درون این بانک sql بفرستم آیا امکان ایجاد بانک مقصد
با کمک دستور sql وجود داره ؟ در برنامه های access به وسیله دستور
Select ..... into در صورتی که بانک وجود نداشت ساخته میشد اما در sql چطوری
این کارو انجام بدم چون یک بانک روی فایل هست و بانک مقصد روی sql .
ودر ضمن بهترین راه بعد از ساخته شدن بانک برای انتقال اطلاعات چی هست ؟ آیا میشه از Store Procedure استفاده کرد ؟ فقط به خاطر داشته باشید که بانک مبدا روی اکسس و بانک مقصد رو اس کیو ال هست
ممنون
AminSobati
دوشنبه 30 شهریور 1383, 11:51 صبح
دوست عزیزم علت اینکه از DTS Package یا Import Wizard(برای انتقال داده ها از Access به SQL) استفاده نمیکنین چیه؟
بابک زواری
دوشنبه 30 شهریور 1383, 14:51 عصر
آقای ثباتی این کار باید اتوماتیک و توسط نرم افزار خودم صورت بگیره به همین خاطر مشکل دارم
AminSobati
دوشنبه 30 شهریور 1383, 15:10 عصر
مشکلی نیست دوست عزیزم،
شما میتونین:
1) DTS Package درست کنین(که انعطاف پذیری فوق العاده ای داره) و هر وقت خواستین اون رو Run کنین (از داخل برنامه) تا انتقال اطلاعات صورت بگیره.
2) از دستور OPENDATASOURCE استفاده کنین. با فرض به اینکه یک دیتابیس اکسس به اسم DB1.MDB داریم و دارای یک جدول به اسم MyTable هستش، با دستور زیر میتونین اطلاعات رو به داخل SQL Server انتقال بدین (توسط SQL Server باید اجرا بشه دستور):
SELECT * INTO MySQLTable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="e:\db1.mdb";User ID=Admin;Password=;')...MyTable
بابک زواری
دوشنبه 30 شهریور 1383, 16:20 عصر
خیلی خیلی ممنون از جوابتون برم ببینم چیکار میکنم
بابک زواری
پنج شنبه 02 مهر 1383, 09:50 صبح
آقای ثباتی با تشکر از زحمات شما که واقعا مشکلات دوستان و خودم رو در زمینه sql server
حل و فصل میکنید
دستور فوق روی کامپیوتر خودم اجر اشد بدون هیچ مشگلی ولیکن روی کامپیوتر اصلی که باید
برنامه اونجا اجر بشه این پیغام رو میده
Server: Msg 7415, Level 16, State 1, Line 1
Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied. You must access this provider through a linked server.
فکر میکند مشکل از کجا باشه
AminSobati
پنج شنبه 02 مهر 1383, 15:16 عصر
دوست عزیزم این رو آزمایش کنید:
SELECT * INTO MySQLTable FROM
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'e:\db1.mdb';'admin';'', MyTable)
اگر باز هم Error داد، پیغام خطای این رو هم Post کنین.
ضمنا، شما روی کامپیوتری که تست کردین و به اشکال خورد، جزء Sysadmin هستید یا دسترسی شما کنترل شده است؟
hedayat
دوشنبه 17 اردیبهشت 1386, 08:49 صبح
SELECT * INTO MySQLTable FROM
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'e:\db1.mdb';'admin';'', MyTable)
حالا می شه برای اتصال به یه فایل EXCEl هم همین مثال رو بزنید
با تشکر فراوان :تشویق: :تشویق: :تشویق:
hedayat
یک شنبه 23 اردیبهشت 1386, 11:40 صبح
کسی اینجا نیست :افسرده: :افسرده: :افسرده:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.