我試圖從ACD呼叫數據系統,Nortel Contact Center 6.0
確切地獲取數據,如果您使用特定系統,我試圖捕獲的是每天通話數據。然而,當我使用此代碼VBA SQL查詢表錯誤
(SCW是一種常見的字串,等於eCallByCallStat
和 SDATE是
dDate = Format(Month(deffDate) & "/" & iStartDay & "/" & Year(deffDate), "mm/dd/yyyy")
sDate = Format(dDate, "yyyymmdd")
)
sSql = ""
sConn = "ODBC;DSN=Aus1S002;UID=somevaliduser;PWD=avalidpassword;SRVR=Thecorrectserver;DB=blue"
sSql = "SELECT " & sCW & sDate & ".Timestamp, "
sSql = sSql & sCW & sDate & ".CallEvent, "
sSql = sSql & sCW & sDate & ".CallEventName, "
sSql = sSql & sCW & sDate & ".CallID, "
sSql = sSql & sCW & sDate & ".TelsetLoginID, "
sSql = sSql & sCW & sDate & ".AssociatedData, "
sSql = sSql & sCW & sDate & ".Destination, "
sSql = sSql & sCW & sDate & ".EventData, "
sSql = sSql & sCW & sDate & ".Source, "
sSql = sSql & sCW & sDate & ".Time " & vbCrLf
sSql = sSql & "FROM blue.dbo.eCallByCallStat" & sDate & " " & sCW & sDate & vbCrLf
sSql = sSql & " ORDER BY " & sCW & sDate & ".Timestamp"
Set oQT = ActiveSheet.QueryTables.Add(Connection:=sConn, Destination:=Range("A1"), Sql:=sSql)
oQT.Refresh BackgroundQuery:=False
Do While oQT.Refreshing = True
Loop"
當我運行此我得到一個奇怪的錯誤消息在oQT.Refresh BackgroundQuery:= False
奇怪的是它的工作了一個月左右,然後就死了
@ loopo 我實際上增加了""
到連接字符串,實際上擁有用戶名和密碼硬編碼到不帶引號的查詢,我從那以後刪除它們清晰度我收到的發佈
的錯誤是
運行時錯誤「-2147417848(80010108)」 : 法 '刷新 「對象的」 _QueryTable' 失敗
感謝您的輸入凱文。數據庫永遠不會處於沒有人訪問它的狀態,它是一個24 x 7的呼叫處理系統,並且始終連接到客戶端。至少這是我的理解。如果我通過Excel手動執行此操作,我從來不會遇到任何錯誤,或者僅在通過宏執行此操作時遇到任何問題,這會導致我認爲這是我的代碼導致問題。
我按照製造商的建議通過ODBC連接到數據庫,但我不知道他們是否設想過這種事情。
我會看看我是否可以利用這個.NET項目,看看是否有幫助。
什麼是錯誤信息? – Taptronic 2008-10-30 17:01:09
同上,你得到的錯誤號碼和消息是什麼? – 2008-10-30 17:09:18