एपीआई गंतव्य स्कीमा स्थापित करने के लिए एक स्पष्ट इंटरफेस प्रदान नहीं करता है, आप वास्तव में DestinationTableName संपत्ति इतनी तरह में एक 2 या 3-भाग योग्य तालिका नाम सामान कर सकते हैं:
b.DestinationTableName = string.Format("[{0}].[{1}]", schemaName, tableName);
या
b.DestinationTableName =
string.Format("[{0}].[{1}].[{2}]", databaseName, schemaName, tableName);
यह देखते हुए कि BULK INSERT ने हमेशा एक पूर्ण-योग्य तालिका नाम का समर्थन किया है, ऐसा लगता है कि उन अलग-अलग घटकों ने इसे एपीआई में कभी नहीं बनाया है।
इसके अलावा, ऐसा लगता है कि DestinationTableName
बस BULK INSERT
कथन में आउटपुट है, यह गुण SQL इंजेक्शन के लिए कमजोर हो सकता है। इसलिए यदि आप किसी जानकारी से किसी उपयोगकर्ता से यह जानकारी प्राप्त कर रहे हैं, तो इस ऑपरेशन को चलाने से पहले इनपुट को स्वच्छ करना सुनिश्चित करें।
स्रोत
2010-12-02 16:42:51