الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ادخال صورة إلى الجدول فى sql server2000

مغلق
بدأه roddina في 13 فبراير 2006 · 7 رد · 2,284 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا حديثة العهد بsql server

اعلم انه من انواع البيانات التى يقبلها sqlserver داخل الجدول نوع البيانات image

عند توصيف حقل من النوع image كيف يمكن ادخال الصورة او مسارها إلى الحقل ؟

يظهر لى فى هذا الحقل <binary>

ولا ادرى كيف يتم تحميل الصورة داخل الحقل

#2

يتم ادخال الصورة داخل هذا الحقل كBinaryData

أي يجب عمل برنامج يقرا الBinaryData الخاص بالصورة ثم عمل ادخال لهذه الData في الحقل

مثال لكي ادخل صورة ما يجب ان تكون الامر مشابه لما يلي حيث ان هذا المر يدخل صورة ما في قاعدة البيانات DigitalArsheaf في جدول PicArsheaf

exec sp_executesql N'INSERT INTO "DigitalArsheaf".."PicArsheaf" ("EmpNo","PicType","IndexNo","Pic") VALUES (@P1,@P2,@P3,@P4)',N'@P1 int,@P2 int,@P3 int,@P4 image',47024,6,1,0xFFD8FFE000104A46494600010201006000600000FFED104A50686F746F73686F7020332E30003842494D03ED0A5265736F6C7574696F6E0000000010006000000001000100600000000100013842494D040D18465820476C6F62616C204C69676874696E6720416E676C650000000004000000783842494D041912465820476C6F62616C20416C74697475646500000000040000001E3842494D03F30B5072696E7420466C61677300000009000000000000000001003842494D040A0E436F7079726967687420466C6167000000000100003842494D2710144A6170616E657365205072696E7420466C616773000000000A000100000000000000023842494D03F517436F6C6F722048616C66746F6E652053657474696E677300000048002F66660001006C66660006000000000001002F6666000100A1999A0006000000000001003200000001005A00000006000000000001003500000001002D000000060000000000013842494D03F817436F6C6F72205472616E736665722053657474696E6773000000700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800003842494D0408064775696465730000000010000000010000024000000240000000003842494D041E0D55524C206F766572726964657300000004000000003842494D041A06536C69636573000000007500000006000000000000000000000258000003200000000A0055006E007400690074006C00650064002D003100000001000000000000000000000000000000000000000100000000000000000000032000000258000000000000000000000000000000000000000000000000000000000000000000003842494D04111149434320556E74616767656420466C61670000000101003842494D0414174C617965722049442047656E657261746F72204261736500000004000000023842494D040C154E65772057696E646F7773205468756D626E61696C00000CA20000000100000070000000540000015000006E4000000C8600180001FFD8FFE000104A46494600010201004800480000FFEE000E41646F626500648000000001FFDB0084000C08080809080C09090C110B0A0B11150F0C0C0F1518131315131318110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C010D0B0B0D0E0D100E0E10140E0E0E14140E0E0E0E14110C0C0C0C0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0CFFC00011080054007003012200021101031101FFDD00040007FFC4013F0000010501010101010100000000000000030001020405060708090A0B0100010501010101010100000000000000010002030405060708090A0B1000010401030204020507060805030C33010002110304211231054151611322718132061491A1B14223241552C16233347282D14307259253F0E1F163733516A2B283264493546445C2A3743617D255E265F2B384C3D375E3F3462794A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F637475767778797A7B7C7D7E7F711000202010204040304050607070605350100021103213112044151617122130532819114A1B14223C152D1F0332462E1728292435315637334F1250616A2B283072635C2D2449354A317644555367465E2F2B384C3D375E3F34694A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F62737475767778797A7B7C7FFDA000C03010002110311003F00E0C9FA45C4876A6398F824F7103703CF9F88FF00CC54F63B71EE49FA63523F794D94376FBB5320FC75EDAEE5B02123B7E2D03203743EA69B83A23C3B9FDD4FB9B12096C69324EBDBBA21A1A1E06C0F0EFF003607D1984D657B585E1B2C0092010638FEF47865ADD69E6AE21A5316877BA64FEE9E4C7FE49317401BA61DAFE29836E2640904691DCF31FD94CD7309D7F34C007E11AA6DFD3CD35FC83324EF12601D744DB808D0C111FF009CA41CD274313F47B79A5B76FB40DCE6993E728F8A170EDC06A496F23B98296F3BC40267C27EE52149DC1C5C34D75F0F8B5109E43049698929D189EBA2091D35451639B0FD20C4F7FECA898613B49DC4E9AF6EFC27636C7CB88D1C75D78D14FD2261BB21FF00BDDA3E8A5448B03EA55606E7EC465EE9DADE0711C4049EE209249D635E6653ED0C0D6B81DEE99D742794EEAE353C12348F3942A5FCBF45363F9757FFD0E2DF6399F2990470D1C494838BA4300DC04C3B82079FF25148AC080D9933A027FB3CA6F53796ED7100E843869E312B7E8DEFF472EFC18886C1021C3401B1AF8C0FA291009D5D1BB488827F7E49489A8C1262C1A35C3C663B210B5A59E9C17169D1FC49EFFE6A0481A69E09009EFE29A18000D927F3403A4F3B9A876318F68912EED22263E97BC290D2D10002643A7811E23E8A5EA1F4DCFD1C4410DE411DC06FF25234410542C6CC4E3D712D2077693A98F824E672EDA1AF68901BE1FCB727B0B1B58B5C097407899F096EE94AB6976DB369AD8410E77EEC7BB51FBA850BA007D13AD592A1074076C09F1D7BB7F354F6D4009F0E0F27CF44FED6000C875836C9D0127FADEE5118F0035D32D00B9C0CCCF8A751E82D6DF734A7B9AD6EE7B8EA64C11ACFE71FCD6EE4A03B69682E8D65C7C7CBDA99CCB6087B5AFD6035C353F0523492DF6021C0C1DA0C4FDE8EA6F4FE2AD07558B3B31BE6E20E9F362034FBC8B010E075074D3CC1FEB2B071F6025CE2660CE8D803430E527B1D21B00B4E85BC4FF9DF4BDA81893AED5D3750901E2FFFD135BF53FEAFE4751F530AEDB4D7B8E561EF2F0607F398F6CB7D9BCFA4E66F569FD03EAD5590DC7BBA756D6D0CDC007DBBAC2EFDE735FF00AC37F3FDDB3D2416F5D6538958AB7438916BC0ADAE1B771F47D4DDEB3A9D8ED95BFF0046857F5CAAF6BB21E1ADCAADCD7B769DCC6545AD638D7077B5EE7FBBDBFA1F5BF9C5A35909A265C234DF5F36ADC47417E4D4EA5F54B01CF1660C74E7B99BDF8AE22E0D93B1BF67F71BF73E37FA0EDFFF0006AAE2FD47EA76D66DCB73A92ED291557EA17B490DF55CD2EADDEEFF0004CFA6A54F54B8E4B6DBACB1ACA3DCF75625ED0C977E61D95FBBE8FBD6B37AE658ADCEB1CD392FDAEF5DAD2E2696FD17B1C7D9B7DDFA6FCFFE5A90CA710220F65804492486A5BF53FA6512F0EBACB6C2D05B5C389737DAF753BDBBAC6DAFFF0048DFD0AB367D4BE83563FE9F7D1691BBD416126B278DAE60DB65BFE95AC66C55E9EAB97616BDA7706B83BF75A5C393FA33EEBBFE2EA47CECAC8BDE5AF7452087340D20905D21BEDB3E8FEF7E913099D006474D57011D4D39989F529B717596E68C8A890DABD205A63DCF6FA8CB373FF37FA9FA37A365FD5163DAC6F4FBDBEB57ADB9173A1A044D836303DCF77E733F46A3464E45167A361FD1132E831A4FFD529D7D45C1B73BDDB5A49F6FB8903FAA76FF009AE4FB9DE933DD151EB10E2DBF563AEB6C638628B1BB80F5185A64BBDAE7EC9F53D3D7E96C44BBEADF55A9AD343BEDA4920D5403B9BAF27D45D163F57B5EEF4F79680D06235D747B9AD786FF006158C2C9A6BDD63C7E93738B18FE77B76F3ED76CDBFF000691CB38EE8108979FA3EA8758B59EB6496E3D45BAD6E8B2C2E3F41C5BED6B7FCFF5167B7A4F547E51C2AF16CC9B1B3E99AA76B9807F395BBE8FD1FEDAEE6EEA543EB01ED1B6D12F6BC924F771967BB66E43FF009C4DAA82D16C3DB201036C023F35BFBBB3F9280CF9753BEBB1D92714341B3C5E47D5DEA8DC86E0DF49A4C1D8625A437F3C39A3DCC40CAA2EC06359607192403100416E90FF00CDF7AEC6CCE3731A2CFD26CDAF734C9132356BA3F77723DB998D73AB6BE8AEDA9DABAA7803738EE0EFA3ED77FE668473E41332EE2B449C5031AF1B7FFFD2C1667555DD65DB48AC0796309D4690E1BFE7EC4FD3F269636CB2B86D9437D305C378327D4739BFBB637F37F46B2FED105DA82D24C03AE9FBA5351956B58F656F76C2E2E2C9F6931DFDDB3DB1FBAB50D1D3BFEC697EC753372DDB0FA21D0EF7DAF3F45EFDBB8BFDBFA5F51D3FCB5176696E4D5491BAADA1C086C3641DCD6FB9D67FC27BBD9FF5C594FCA0DB01D1AEED63757833C335DAC6B9C12F5CBED73B463DDA10D691BE3E86E33B1DBE7DA9BA716FD93AD3AFD31CDAB22E7D9B9F5BCC6E07DA083BD8F66E3BBDB1B5E8CFCFDF96D658EDAC6C02E248304FE6BDBBBF49F99EE584DB5A4BE3F38EE122247C119B96E6B4FA525CF325FA6EDA3C1BF4938D744025DDC9B6B398CF4C00E0277B260077E6FB76FBF67D2620E6581D96C35BBF45568D01D323FACC03E86E599EB99978804E9544B4CFF8477F2DC98DEDDB1F4490436CDC38FDDDB1FF005286A2BCA93DDBF8F9845ACDED03482EFE50FCE76EFA2D64FD15A472CD6F758E68DB66E2C05DA9FDE7B8B76EDDDFF0762E67D60009EFC01E7E12AE1C90E6ED80D6B7E8911B813F2FE4A74802B6269D1CCEA5F46D61DFBC6D7070209697376B5BB4FF0027D8ABD46DB2C120D7B9C5A0CC925BCB5BA7EE9550DFEF32017C4B48D78FA2D69FF5D8A74E5178730D73E5A684F7DCE6FE6FEF35211D0A78B576AA7318C6B5EE05C4359BBB3B5DDCB5DF9AA17DCEDACF712DAC03B84033C1DCE6FF00DF564D990F16B8968305BA0262208E7E97D1466E4B5E1D65BED9E23BBA23F37E87D051F011AAFE2E8FFFD3E15D76C6B883A4FD189F1E505B7F20910753A46A79507125A5B31F131C28C35AE73241F3F03E0AF199B15B358442473E499F71734ED1FCA3F45CF722DAE16DBA7D37337931104696486C7E737DEE62AEE32C2C9983C01A6BFBCEFE4A9FDA4D40359E21C64EE0083FE8C8DBEFFE5242435E23A68AE1DAB7486C24EE24C4F3DFFB69FD62E05C1B3B751208027F776A89D8F3BDB3B5E783E3F9E3B283C804B5B311C18E4F29E4902EEC2DABD1336F02B6B5C351C1D47925EB324F2D22608F0D747FE7390082D683A9D341FEBFC948996020C93DCA6F11FB1343ED4A2E793B4F943BC7FF0031476D83713E1DCE87F0548BA008E0F73DD15AE76E10E3260070E00EFB93A33D7BA251FA36ECB8407B48D6349D26623F94A34BA24033B47C748EEABD8586B6C19025A20CC478FF009BED4566D0C6C72F124C7BB4D5BC6EFEA278959FA0FC5691A271692E3AF05BACF1C69CA26F971133C093DB9E02A4DB1FAF8481F2011D8D874B89DDCED23C3E9894E06FED5A747FFFD4F397F1A78A766EF4FBF263C3FD772CF495A1F3FD183F47EAE8FBF5DBE238F19D13D5BBD7D67E83A663C3F97ED59A927751BEE3F3E88E876D9D71BE5BEA7D3DBACF3BBFE1367BF76DFE710DFBB7F9C0E679859892925F28DFEBF37D56C773FC83AAD991C77E38E0FF00D143D21BE1AF0B3924D96C3CD21D23BB708FF509CEF96EC9E44C784ACC490E877DD3DB6762CDBEA3F6F11EE8E39FCCFCDFA6A7ECF4EDF4E36C88F523772DDBE9FF00256224A6EB2DBAFF00DD6CC7D06FD1D96ECF50CFD0DFACCFEEF78F7A3F63B27811CC42E7D24F875DB73E6B65FC1FFFD93842494D04211A56657273696F6E20636F6D7061746962696C69747920696E666F000000005500000001010000000F00410064006F00620065002000500068006F0074006F00730068006F00700000001300410064006F00620065002000500068006F0074006F00730068006F007000200036002E003000000001003842494D04060C4A504547205175616C69747900000000070000000000010100FFEE000E41646F626500648000000001FFDB008400100B0B0B0C0B100C0C10170F0D0F171B141010141B1F17171717171F110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C01110F0F11131115121215140E0E0E14140E0E0E0E14110C0C0C0C0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0CFFC00011080258032003012200021101031101FFDD00040032FFC4013F0000010501010101010100000000000000030001020405060708090A0B0100010501010101010100000000000000010002030405060708090A0B1000010401030204020507060805030C33010002110304211231054151611322718132061491A1B14223241552C16233347282D14307259253F0E1F163733516A2B283264493546445C2A3743617D255E265F2B384C3D375E3F3462794A485B495C4D4E4F4A5B5C5D5E5F55666

تم تعديل هذه المشاركة بواسطة AbuZakaria في 13 فبراير 2006 في 23:11

#3

الأخ أبو زكريا

آمل منك أن توضح لنا طريقة حصولك على نص ترميز الصورة بالنظام السادس عشري.

أم أن هذا نص الأمر بعد تكوينه بلغة أخرى؟

:rolleyes:

فكر بطريقة أخرى

#4

السلام عليكم ورحمة الله و بركاته :

إخواني الأكارم في الحقيقة الإجابة موجودة مع شرح كامل لها في المقالة التي و ضعتها في هذا الرابط :

التعامل مع أنواع البيانات Image and Text and NText

وفيها الإجراء ReadImageFromFile و نصه البرمجي :

CREATE PROCEDURE readImageFromfile @filename nvarchar(128)=NULL, @table nvarchar(128)=NULL,@column nvarchar(128)=NULL, @where nvarchar(2000)=NULL
--Reads an image (binary data) from a file into an image column replacing the original contents
AS
SET NOCOUNT ON
IF (@filename is NULL) OR (@table is NULL) OR (@column is NULL) OR (@where is NULL)
	BEGIN
	PRINT 'readImageFromfile reads data from a file into an image column'
	PRINT 'Usage:'
	PRINT 'EXEC readImageFromfile FileName, tableName, columnName, WhereCondition'
	PRINT ''
	PRINT 'For example: EXEC readImageFromfile ''C:\test.bmp'', ''customers'', ''picture'', ''where customerID=234'''
	RETURN
	END
DECLARE @i int, @size int, @blocks int, @cmd varchar(8000)
create table #filedetails(altname varchar(30),size int,createdate varchar(32),createtime varchar(32),lastwrittendt varchar(30),lastwrittentime varchar(32),
lastaccessdt varchar(30),lastaccesstime varchar(32),attributes int)
insert into #filedetails exec master..xp_getfiledetails @filename
set @size=(select size from #filedetails)
if @size=null
	BEGIN
	PRINT 'File error.'
	RETURN
	END
drop table #filedetails
SET @blocks=@size/8000+1
--start dynamic SQL declaration
SET @cmd='DECLARE @ptrval binary(16), @fso int, @file int, @i int, @j int, @hr int, @buffer varbinary(8000) '
SET @cmd=@cmd+' EXEC @hr = sp_OACreate ''ADODB.Stream'', @file OUT '
SET @cmd=@cmd+' EXEC @hr = sp_OAMethod @file, ''Open'' '
SET @cmd=@cmd+' EXEC @hr = sp_oasetproperty @file, ''Type'', 1 '
SET @cmd=@cmd+' EXEC @hr = sp_oasetproperty @file, ''LoadFromFile'','''+@filename+'''' 
SET @cmd=@cmd+' SELECT @ptrval = TEXTPTR('+@column+') FROM '+@table+' '+@where+' '

SET @cmd=@cmd+' exec @hr = sp_oamethod @file, ''read'',  @buffer out , 8000 '
	if @blocks=1
  SET @cmd=@cmd+' WRITETEXT '+@table+'.'+@column+' @ptrval @buffer '
	else
  BEGIN
  SET @cmd=@cmd+' WRITETEXT '+@table+'.'+@column+' @ptrval @buffer '
  SET @cmd=@cmd+'set @j='+str(@blocks-1)+' while @j>0 begin '
  SET @cmd=@cmd+' exec @hr = sp_oamethod @file, ''read'',  @buffer out , 8000 '
  SET @cmd=@cmd+'set @i=(select DATALENGTH('+@column+') from '+@table+' '+@where+') '
  SET @cmd=@cmd+'UPDATETEXT  '+@table+'.'+@column+' @ptrval @i 0 @buffer '
  SET @cmd=@cmd+'set @j=@j-1 end '
  END

--execute dynamic SQL
SET @cmd=@cmd+' EXEC @hr = sp_OAMethod @file, ''Close'' '
SET @cmd=@cmd+'EXEC @hr = sp_OADestroy @file EXEC @hr = sp_OADestroy @fso'
exec( @cmd)
GO

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#5

السلام عليكم :

أيضاً إخواني نسيت أن أقول أنني ذكرت في المقالة اّنفة الذكر شرح لعملية حفظ الصورة من الحقل إلى ملف خارجي :

بواسطة هذا الإجراء :

CREATE PROCEDURE saveImage2file @filename nvarchar(128), @table nvarchar(128),@column nvarchar(128), @where nvarchar(4000)
--Saves an image from an image column to a file
AS
IF (@filename is NULL) OR (@table is NULL) OR (@column is NULL) OR (@where is NULL)
	BEGIN
	PRINT 'saveImage2file saves an image from an image column to a file'
	PRINT 'Usage:'
	PRINT 'EXEC saveImage2file FileName, tableName, columnName, WhereCondition'
	PRINT ''
	PRINT 'For example: EXEC saveImage2file ''C:\test.bmp'', ''customers'', ''picture'', ''where customerID=234'''
	RETURN
	END
DECLARE @hr int,@fso int,@i int, @j int, @blocks int, @c int, @v varbinary(10), @buffer varbinary(1000), @sql nvarchar(4000)
EXEC @hr = sp_OACreate 'ADODB.Stream', @fso OUT
exec @hr = sp_oasetproperty @fso, 'Type', 1--adTypeBinary=1
EXEC @hr = sp_OAMethod @fso, 'Open'
set @sql = N'SELECT @c =(select DATALENGTH('+@column+') from '+@table+' '+@where+')'
exec sp_executesql @sql, N'@c int OUTPUT', @c OUTPUT
set @j=0
create table #t ( t image ) 
SET @i=@c
--read 1000 bytes at a time
WHILE @i>1000
	BEGIN
	insert into #t 
	exec getREADTEXT @column,@table,@where,@j,1000
	set @buffer=(select convert(varbinary(1000),t) from #t)
	EXEC @hr = sp_oasetproperty @fso, 'Write', @buffer
	delete #t
	SET @i=@i-1000
	SET @j=@j+1000
	END
--read remaining bytes
if @i>0
	BEGIN
	insert into #t 
	exec getREADTEXT @column,@table,@where,@j,@i
	set @buffer=(select convert(varbinary(1000),t) from #t)
	EXEC @hr = sp_oasetproperty @fso, 'Write', @buffer
	delete #t	
	END
drop table #t
EXEC @hr = sp_oasetproperty @fso, 'SaveToFile', @filename
EXEC @hr = sp_OAMethod @fso, 'Close'
GO

مع تمنياتي بالتوفيق ................................................................

نعيب زماننا و العيب فينا و ما لزماننا عيب سوانا ( الشافعي رحمه الله )

عماد .. B) B)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#6

انا استخدم لغةC++ Builder 6 و قد قمت بعمل Function للقراءة من جدول و اخرى للادارج و هذا هو الكود بالكامل :) :D :lol:

void TImageProcessor::InsertImage(TADOQuery *STable,String Field,TJPEGImage *JPGImage)
{
 TStream *Str;
 Str=STable->CreateBlobStream(STable->FieldByName(Field),bmWrite);
 JPGImage->SaveToStream(Str);
 delete Str;
}
//---------------------------------------------------------------------------
void TImageProcessor::ReadImage(TADOQuery *STable,String Field,TJPEGImage *JPGImage)
{
 TStream *Str;
 Str=STable->CreateBlobStream(STable->FieldByName(Field),bmRead);
 JPGImage->LoadFromStream(Str);
 delete Str;
}

أما كيفية حصولي على الBinaryData فقد قمت بنسخها من SQL Server profiler و البيانات اكبر بكثير مما اوردته في المشاركة و لكن وضعت جزء منها للتوضيح

تم تعديل هذه المشاركة بواسطة AbuZakaria في 16 فبراير 2006 في 16:48

#7

فكرة جيدة أيضاً يا أخ لأبو زكريا و لكن ألا توافقني الرأي بأن الإجراء المخزن سيكون أسرع نوعاً ما .. خاصة عندما يكون حجم الصورة كبيراً .. :unsure:

ولكن مع ذلك الطريقة فيها حركة حلوة .. و الله يوفقك :)

سأحاول تجريب هذه الطريقة بـ دلفي و سنرى النتيجة .

عماد .. B) B)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#8

السلام عليكم

لا اعتقد ان الStored procedure سيكون اسرع في هذه الحالة لان الموضوع فبه قراءة Data ولا يوجد به استعلامات معقدة و في حالة نظام قواعد بيانات كبير به عدد كبير من الClients و يحتاج الى سرية عالية افضل الطريقة التي ذكرتها للأسباب الاتية

1) توزيع ضغط العمل من على الجهاز الخادم

2) لا يحتاج الServer صلاحيات للوصول الى الجهاز الموجود به الصور

على العموم جرب الكود و ستجد سرعته

هذا الموضوع مغلق.

مواضيع مشابهة