Я пытаюсь получить данные из системы данных вызовов ACD, если быть точным, Nortel Contact Center 6.0
, и если вы используете эту конкретную систему, то я пытаюсь захватить ежедневный вызов по данным вызовов. Однако, когда я использую этот код
(sCW - это общая строка слов, равная eCallByCallStat
и
sDate is
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, и посмотрю, поможет ли это.