PDA

View Full Version : سوال: مشکل در یکپارچه کردن اطلاعات دو table



mohammad_2039
سه شنبه 24 آذر 1388, 12:00 عصر
با سلام
من میخوام دو تا دیتابیس رو که تمام تیبل هاشون مشابه است (در واقع دیتا بیس دوم restore شده دیتا بیس اول با نام جدیده) اطلاعاتشون رو یکپارچه کنم با دستور insert از دیتا بیس دوم همه چیز رو اضافه کنم به دیتا بیس اول . همه چیز درست انجام میشه به جز یکی از تیبل ها که فیلدی از نوع image داره و باینری ذخیره شده . این تیبل رو نمیتونه کپی کنه . (من از sqlserver 2000 استفاده میکنم). میگن میشه با دستور open rowset این کار رو انجام داد اما من نتونستم. اگه کسی از دوستان میتونه راهنمایی کنه لطفا ممنون میشم . میخوام دستور رو تو کوئری آنالیزر اجرا کنم . با تشکر فراوان

mohammad_2039
چهارشنبه 25 آذر 1388, 12:26 عصر
از دوستان کسی نمیتونه راهنمایی کنه ؟؟ کارمون گیره ها :گریه::گریه::گریه:

AminSobati
چهارشنبه 25 آذر 1388, 12:38 عصر
سلام دوست عزیزم،
ممکنه دستور Insert که نوشتین و همچنین Script جدول رو پست بفرمایید؟

mohammad_2039
شنبه 28 آذر 1388, 10:14 صبح
سلام

این اسکریپت مشابه بانک من هستش ولی خالیه، برنامه عکس رو باینری میکنه و تو فیلد image ذخیره میکنه

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbl_shop]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tbl_shop]
GO
CREATE TABLE [dbo].[tbl_shop] (
[id] [int] NOT NULL ,
[number] [nvarchar] (50) COLLATE Arabic_CI_AS NOT NULL ,
[image] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


بعد من تو sqlserver بانک رو با نام SHOP1 - RESTORE کردم حالا میخوام با دستور زیر فیلد ها رو از SHOP1 به SHOP وارد کنم . بانک من جداول زیادی داره که همه انجام میشه به جز TBL_IMAGE.

INSERT INTO shop.dbo.tbl_shop
SELECT *
FROM shop1.dbo.tbl_image
WHERE (NOT (number IN
(SELECT number
FROM shop.dbo.tbl_image)))

من فقط می خوام بدونم تو sqlserver2000 چطوری میشه یه فیلد باینری رو تو یه فیلد مشابه در یه جدول دیگه اضافه کرد. با تشکر فراوان

mohammad_2039
یک شنبه 29 آذر 1388, 06:52 صبح
از دوستان کسی راه حل این مشکل رو نمیدونه ؟؟:متفکر::متفکر:

AminSobati
یک شنبه 29 آذر 1388, 14:02 عصر
دوست عزیزم متاسفانه چون به SQL Server 2000 دسترسی ندارم، پیغام خطایی که شما دریافت میکنید من بهش برخورد نمیکنم. لطفا اون رو هم پست بفرمایید

mohammad_2039
سه شنبه 01 دی 1388, 08:36 صبح
ممنون از توجه شما
این پیغام رو میده :

Server: Msg 213, Level 16, State 4, Line 1
Insert Error: Column name or number of supplied values does not match table definition.

راستی امین جان شما در sqlserver 2005 یا 2008 این کارو انجام میدید بدون مشکل insert میشه ؟؟؟ آخه من تست نکردم

AminSobati
سه شنبه 01 دی 1388, 12:34 عصر
من مشکلی در تست روی 2008 نداشتم اما ظاهرا مشکل شما مربوط میشه به نا هماهنگ بودن تعداد فیلدهای جدول tbl_shop و تعداد فیلدهایی که از tbl_image بدست میارین. این رو چک کنین