none
無法建立的SqlBulkCopy物件的怪問題 RRS feed

  • 問題

  • 作業系統為Vista商業版,
    環境是VS2008 Pro + .NET Framework 3.5, Service Pack全部最新,
    後端資料庫為SQL Server 2008 Experss

    在使用System.Data.SqlClient下的SqlBulkCopy時,
    在建立物件時,老是提示「Public Sub New()的引數太多」,
    例如:

    '有Options
    
    
    Dim
    
     NorthWindBulkOp As
    
     SqlBulkCopy
    NorthWindBulkOp = New
    
     sqlBulkCopy(NorthWindConnString, SqlBulkCopyOptions.UseInternalTransaction)
    
    '無Options
    
    
    Dim
    
     NorthWindBulkOp As
    
     SqlBulkCopy
    NorthWindBulkOp = New
    
     sqlBulkCopy(NorthWindConString)
    

    http://cid-6909a9b0416ee592.skydrive.live.com/self.aspx/dotNet/sqlBulkCopy.png

    不管使用那一種建構式,就是無法建立sqlBulkCopy物件,真是讓我非常不解?
    http://kkbruce.blogspot.com/
    • 已編輯 KKBruceMVP 2009年11月10日 上午 04:22 新增資料庫訊息
    2009年11月10日 上午 04:16

解答

  • 你是連編譯都不會過吧?


    請教一下,你這兩個變數是什麼?
    NorthWindConString
    NorthWindConnString


    另外.......你該不會正好有自己寫一個SqlBulkCopy類別出來吧
    • 已標示為解答 KKBruceMVP 2009年11月10日 上午 07:23
    2009年11月10日 上午 04:57
    版主

所有回覆

  • 1. SqlBulkCopyOptions 列舉型別 : < 以下引述自MSDN文件庫 >
    UseInternalTransaction 指定時,大量複製作業的每一批次都會在交易中發生。如果您指出這個選項,並對建構函式 (Constructor) 提供 SqlTransaction 物件,則會發生 ArgumentException 。 



    2. 關於 SqlBulkCopy 建構函式 (String) <以下引述自MSDN文件庫>

    如果 connectionString 為 null,則會擲回 ArgumentNullException 。如果 connectionString 為空字串,則會擲回 ArgumentException

     




    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月10日 上午 04:44
  • 你是連編譯都不會過吧?


    請教一下,你這兩個變數是什麼?
    NorthWindConString
    NorthWindConnString


    另外.......你該不會正好有自己寫一個SqlBulkCopy類別出來吧
    • 已標示為解答 KKBruceMVP 2009年11月10日 上午 07:23
    2009年11月10日 上午 04:57
    版主
  • 我開新網站,在全新WebSite目錄下測試沒有問題了,原因我在查查,在開發中的目錄下確實不行使用sqlBulkCopy類別。
    在VS2008中的提示建構式是無參數的Public sub New(),這很怪。
    感謝各位。
    http://kkbruce.blogspot.com/
    2009年11月10日 上午 06:32
  • Hi,

    這個看起來,  會不會是大小寫的問題?

    Dim
    

    NorthWindBulkOp As

    SqlBulkCopy
    NorthWindBulkOp = New

    sqlBulkCopy(NorthWindConnString, SqlBulkCopyOptions.UseInternalTransaction)
    第一個是大寫, 第二個new 之後的s卻是小寫?





    Lolota
    微軟技術支援中心 (CSS)
    2009年11月10日 上午 06:45
  • 我找到問題點了,自己豬頭。

    我新增的網頁名稱為「sqlBulkCopy.aspx」,所以產生了「Partial Class sqlBulkCopy」(s小寫),所以在程式中引用到自己(Web Form)的Class,而不是System.Data.SqlClient中SqlBulkCopy(S大寫)類別,所以當然有問題。

    而新網頁是Default.aspx當然沒有問題。

    也給自己一個經驗,.NET裡的類別,最好不要拿來命名為網頁名稱。

    再次謝謝各位。
    http://kkbruce.blogspot.com/
    2009年11月10日 上午 07:23