Я пытаюсь получить данные из системы данных о вызовах ACD, Nortel Contact Center 6.0
, если быть точным, и если вы используете эту конкретную систему, я пытаюсь зафиксировать ежедневные данные о вызовах. Однако, когда я использую этот код
(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» не выполнен
Спасибо за ваш вклад, Кевин. База данных никогда не находится в состоянии, когда к ней никто не обращается, это система обработки вызовов, которая работает круглосуточно и без выходных и всегда подключена к своим клиентам. По крайней мере, это мое понимание. Если я делаю это вручную через Excel, я никогда не получаю ошибку или имею какие-либо проблемы только тогда, когда я делаю это с помощью макроса, это дает мне проблемы, которые заставляют меня думать, что это был мой код, вызывающий проблему.
Я подключаюсь к базе данных через ODBC в соответствии с рекомендациями производителя, но мне интересно, предвидели ли они когда-нибудь такое.
Я посмотрю, смогу ли я использовать это в проекте .NET, и посмотрю, поможет ли это.