PDA

View Full Version : روش کار با دستور OPENDATASOURCE



aghayex
شنبه 22 آبان 1389, 17:21 عصر
با سلام
دوستان من برا اینکه یه سری اطلاعات از یه دیتابیس اس کیو ال به یه دیتابیس اس کیو ال ببرم می خوام از دستور OPENDATASOURCE استفاده کنم اما هر طوری باهاس کار می کنم یه جور خطا می ده .


com.CommandText = " insert into omoomi (SELECT * INTO omoomi FROM OPENDATASOURCE('SQLOLEDB', RTRIM(@Path))database1.dbo.omoomi)";

Reza_Yarahmadi
یک شنبه 23 آبان 1389, 08:36 صبح
دوست عزيز به صورت زير امتحان كنيد ببينيد كارتون رو راه ميندازه يا نه (در صورت خطا دادن متن خطا رو بذاريد)
اين نمونه از MSDN است
Insert Into ....
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks.HumanResources.Department
ORDER BY GroupName, Name') AS a;
اين يكي هم براي Access 2007 نوشته شده.

Insert Into omoomi
SELECT
a.*
FROM
OPENDATASOURCE(
'Microsoft.ACE.OLEDB.12.0',
@DateBasePath;
'admin';
'',
TableName
) as a

aghayex
یک شنبه 23 آبان 1389, 23:35 عصر
با تشکر از جوابتون
اما چند سوال اینجا هست
1- من از نسخه اکسپرس استفاده می کنم , جلوری server نوشته Seattle1 این یعنی چی آیا من هم باید اینو بنویسم یا نه چیز دیگه ای رو بنویسیم
2- آدرس دیتابیس مهمان که از نع اس کیو ال هست رو کجا معرفی کنم

Reza_Yarahmadi
دوشنبه 24 آبان 1389, 07:57 صبح
من از نسخه اکسپرس استفاده می کنم , جلوری server نوشته Seattle1 این یعنی چی آیا من هم باید اینو بنویسم یا نه چیز دیگه ای رو بنویسیم
براي اكسپرس فكر نميكنم بشه اين كار رو كرد (مطمئن نيستم) . در مورد Seattle1 هم اين نام سرور مورد نظر است.

2- آدرس دیتابیس مهمان که از نع اس کیو ال هست رو کجا معرفی کنم
توي مثال دوم آدرس فايل بصورت پارامتر قرار داده شده (DataBasePath@).

aghayex
دوشنبه 24 آبان 1389, 17:00 عصر
من sp رو اینطور نوشتم


select * from OPENDATASOURCE('SQLNCLI','Data Source=MACHINENAME\SQLEXPRESS;AttachDbFilename=c:\ Database1.mdf;Integrated Security=SSPI').database1.dbo.omoomi

اما یه خطا میده در عکس ضمیمه هست
تا جایی که من فهمیدم میگه این دو تابع غیر فعال هست و باید یه چیز رو فعال کنم برا همین یه سرچ زدم که این دستورات اومد و من هم وارد sp خودم کردمش ام خطا از go می گیره


CREATE PROCEDURE dbo.StoredProcedure1
as
exec sys.sp_configure 'show advanced options',1
reconfigure
go
exec sys.sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
go

select * from OPENDATASOURCE('SQLNCLI','Data Source=MACHINENAME\SQLEXPRESS;AttachDbFilename=c:\ Database1.mdf;Integrated Security=SSPI').database1.dbo.omoomi
RETURN

تشکر از دوست عزیز آقای یار احمدی
اگه اساتید عزیز راهی برا ارتباط دو دیتابیس در اکسپرس دارن بگن ممنون می شم

aghayex
سه شنبه 25 آبان 1389, 21:19 عصر
یعنی یکی از دوستان یه محبت نمی کنه در در مورد انتقال اطلاعات از یه دیتابیس به دیتابیس دیگه با استفاده از sqlexpress 2008 وضیحی بده:ناراحت: