PDA

View Full Version : جا به جا کردن کل دیتابیس از اکسس به اس کیو ال سرور



oliya24
سه شنبه 15 فروردین 1391, 22:59 عصر
سلام دوستان خسته نباشید من یه دیتابیس دارم تو اکسس که میخواستم یه کاری کنم که اون دیتابیس رو به اس کیو ال سرور بیارم نسخه مورد استفاده من اس کیو ال سرور 2008 هست
ایا راهی برای این کار هست؟؟؟؟؟ چطور میتونم این کار رو با دستور انجام بدم

nedata
سه شنبه 15 فروردین 1391, 23:58 عصر
با دستور openrowset مي تونيد اين كار را انجام بديد

Felony
سه شنبه 15 فروردین 1391, 23:59 عصر
خود اکسس همچین قابلیتی رو داره ، به سربرگ Database Tools برید و گزینه SQL Server رو انتخاب کنید و مراحل Wizard نمایش داده شده رو طی کنید تا بانک به SQL Server منتقل بشه .

oliya24
چهارشنبه 16 فروردین 1391, 01:59 صبح
با دستور openrowset مي تونيد اين كار را انجام بديد
میشه کمی بیشتر توضیح بدید در مورد این دستور ممنون میشم

nedata
چهارشنبه 16 فروردین 1391, 02:40 صبح
SELECT *
into TableName
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\accessdatabasename.mdb';'User';'Password', accessTableName)

oliya24
چهارشنبه 16 فروردین 1391, 15:26 عصر
سلام من این کد رو به این صورت مینویسم ولی به من خطا میده حقیقتش من تا اصلا اکسس کار نکردم فقط اس کیو ال سرور بلدم نمیدونم چطور ادرس بانک رو از اکسس بدست بیارم ؟؟؟؟؟؟
کد رو هم این طور نوشتم

SELECT



*

FROM



OPENROWSET('Microsoft.Jet.OLEDB.4.0''c:\accessdb1. mdb','anjoman')

یه دیتابیس به نام db1 و یه جدول به نام انجمن ممنون میشم دوباره من رو یاری بکنید و البته این دستور رو من تو اس کیو ال سرور انجام دادم

mahan.2002
چهارشنبه 16 فروردین 1391, 18:28 عصر
سلام
یه کار دیگه می تونی انجام بدی جداول تو بیار تو برنامه بعد برزشون تو SQl مثالا اگر با سی شارپ کار میکنی اول برزشون توی DataTable یا Data Set بعد برزشون تو SQl ....
البته من راهی که دوستان گفتن تجربه نکردم اگر بچه توضیح بدن.. خوبه ..
امیدوارم موفق باشید.

oliya24
چهارشنبه 16 فروردین 1391, 18:36 عصر
نه من برنامه نویسی پروژه رو انجام نمیدم فقط کارم دیتابیسه

mahan.2002
چهارشنبه 16 فروردین 1391, 18:58 عصر
دوست عزیز این لینک بخون ببین میتونی جواب بگیری...
انشاا...
کاتو راه میدازه ...
لینک 1 (http://www.mspsoft.com/1390/03/10/%D9%86%D8%AD%D9%88%D9%87-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-access-%D8%A8%D9%87-sql/) لینک 2 (http://articles.tahlildadeh.com/?tag=/%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84+%D8%B1%DA%A9% D9%88%D8%B1%D8%AF++%D8%A7%D8%B2+ACCESS+%D8%A8%D9%8 7+SQL)

nedata
چهارشنبه 16 فروردین 1391, 20:19 عصر
SELECT * FROM
OPENROWSET('Microsoft.Jet.OLEDB.4.0','c:\db1.mdb'; '';'','anjoman')

شما بايد به جاي C:\ مسيري كه ديتابيس اكسس در آن قرار دارد را بذاريد.اگه بازم مشكي بود بگيد

oliya24
چهارشنبه 16 فروردین 1391, 22:47 عصر
سلام دوست عزیز من مسیر دیتابیس رو به دسکتاپ دادم و یعنی کل مسیر میشه این طوری c:\user\allah\desktopاین مسیری که من با propertise کردن روی فایل دیتابیس که نامش هم db 1 بود بدست اوردم ولی خودم گمون میکنم که این ادرس کامل نیست نمیدونم چطور ادرس کامل رو بدست بیارم؟؟؟؟ این تنها کاری بود که میتونستم انجام بدم لطفا دوباره من رو راهنمایی کنید من این دستور رو به این نحو نوشتم و با خطای زیر رو به رو شدم





SELECT

* FROM


OPENROWSET('Microsoft.Jet.OLEDB.4.0','C:\Users\all ah\Desktop','anjoman')

Msg 7308, Level 16, State 1, Line 1

OLE DB provider 'Microsoft.Jet.OLEDB.4.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode.
[/SQL]

nedata
چهارشنبه 16 فروردین 1391, 23:16 عصر
اين ارور فكر كنم واسه اينه كه شما از sql 2005 استفاده مي كنيد يا از office 2007.من سرچ كردم فكر كنم اينطور بتونيد مشكل را حل كنيد.
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Ad Hoc Distributed Queries’, 1;
GO
RECONFIGURE;
GO

EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′, N’AllowInProcess’, 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′, N’DynamicParameters’, 1
GO
و بعد به جاي‘Microsoft.Jet.OLEDB.4.0′ ‘Microsoft.ACE.OLEDB.12.0′ را بنويسيد

oliya24
پنج شنبه 17 فروردین 1391, 16:29 عصر
من از اکسس 2003 و اس کیو ال 2008 استفاده میکنم

nedata
پنج شنبه 17 فروردین 1391, 21:03 عصر
چون از اس كيو ال 2008 استفاده مي كنيد بايد كارهايي كه پست قبل گفتم را انجام بديد