簡體   English   中英

鏈接服務器“(null)”的OLE DB提供程序“ MSDASQL”報告錯誤

[英]The OLE DB provider “MSDASQL” for linked server “(null)” reported an error

我非常困在這里,非常感謝您的幫助。 我想做什么?

有一個帶有CSV上傳的ASP頁(經典ASP),顯示以下錯誤:

Microsoft OLE DB Provider for SQL Server error '80040e14'

The OLE DB provider "MSDASQL" for linked server "(null)" reported an error. The provider did not give any information about the error.

/ùùù.stocklist.be/importCSVProcess.asp, line 86 

我創建了兩個鏈接服務器:

   EXEC master.dbo.sp_addlinkedserver
          @server = N'txtsrv'
        , @srvproduct=N'Jet 4.0'
        , @provider=N'Microsoft Text Driver (*.txt; *.csv)'
        , @datasrc=N'D:\WEBSITES\ùùù.stocklist.be\csv\upload'
        , @provstr=N'Text'

            EXEC sp_addlinkedserver 
   @server = 'Server1', 
   @srvproduct = '',
   @provider = 'MSDASQL', 
   @datasrc = '

'

當我在以下查詢中用txtsrv替換MSDASQL時,出現此錯誤:

The OLE DB provider "txtsrv" has not been registered.

這是插入完成的代碼:

If upl.Form("rdbType") = "lot" Then
            updFileNameSQL ="insert into cos_lot(lot_vin) " & _
                    "SELECT vin  " & _
                    "FROM OPENROWSET  " & _
                    "('MSDASQL',  " & _
                    "'Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & sServerPath & ";',  " & _
                    "'SELECT vin from " & UplFileName & "') " & _
                    "where not vin IS NULL AND  vin collate SQL_Latin1_General_CP1_CI_AS not in (select  lot_vin from cos_lot) " 


    Set updCmd = Server.CreateObject("ADODB.Command")
        updCmd.ActiveConnection = MM_COS_STRING
        updCmd.CommandText = updFileNameSQL 
        updCmd.Execute
ElseIf upl.Form("rdbType") = "premie" Then
    updFileNameSQL ="INSERT INTO [ùùùSTOCKLIST].[dbo].[COS_ANNEX] " & _
                       "([annex_type] " & _
                       ",[annex_chassisnr] " & _
                       ",[annex_datum] " & _
                       ",[annex_userid] " & _
                       ",[annex_stockid] " & _
                       ",[annex_commentNL] " & _
                       ",[annex_commentFR] " & _
                       ",[annex_premie] " & _
                       ",[annex_premie_type] " & _
                       ",[annex_consignatie] " & _
                       ",[annex_eindeconsignatie] " & _
                       ",[annex_online] " & _
                       ",[annex_onlinefrom] " & _
                       ",[annex_onlineto] " & _
                       ",[annex_libelle]) " & _
                        "SELECT 2 " & _
                        ",[VIN] " & _
                        ",Getdate() " & _
                        ", " & Session("user_id") & " " & _
                        ",[STOCK] " & _
                        ",'' " & _
                        ",'' " & _
                        ",Replace([PREMIE],',','.') " & _
                        ",'E' " & _
                        ",Null " & _
                        ",Null " & _
                        ",1 " & _
                        ",cast([ONLINEFROM] as smalldatetime) " & _
                        ",cast([ONLINETO] as smalldatetime) " & _
                        ",[TYPE]  " & _
                        "FROM OPENROWSET  " & _
                        "('MSDASQL',  " & _
                        "'Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & sServerPath & ";',  " & _
                        "'SELECT vin,stock,type,premie,onlinefrom,onlineto from " & UplFileName & "') " & _
                        "WHERE NOT VIN IS NULL "

    Set updCmd = Server.CreateObject("ADODB.Command")
        updCmd.ActiveConnection = MM_COS_STRING
        updCmd.CommandText = updFileNameSQL 
        updCmd.Execute
End If

最后: updCmd.Execute我得到上面的錯誤。

我可能做錯了什么?

提前致謝!

PS:服務器是Win2003 R2 x86

我想嘗試其他連接字符串是否值得?

 updFileNameSQL ="insert into cos_lot(lot_vin) " & _
     "SELECT vin  " & _
     "FROM OPENROWSET  " & _
     "('Microsoft.Jet.OLEDB.4.0'," & _
     "'Text;HDR=Yes;FMT=Delimited;DATABASE=" & sServerPath & ";'," & _
     "'SELECT vin from [" & UplFileName & "]') " & _
     "where not vin IS NULL AND  vin collate SQL_Latin1_General_CP1_CI_AS " & _
     "not in (select  lot_vin from cos_lot) " 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM