Я хотел бы знать, можно ли объединить результаты двух разных баз данных, MS Access и SQL Server.Объединить результаты MS Access и SQL Server
Вот что я пытаюсь сделать:
ВЫБЕРИТЕ EVERYTHNIG между двумя датами ОТ SQL Server 2008 R2 Express) ТАБЛИЦА НАЗВАЛ НАГРУЗКИ
'//THIS WOULD BE THE SQL Server DATABASE
strQueryMSSQL = "Select * FROM LOADS WHERE PUP_DATE >= '" & strPUPDate & "' and DEL_DATE <= '" & strDELDate & "'" ORDER BY PUP_DATE DESC"
objMSSQL.Open strQueryMSSQL
'//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE SQL Server DB
while not objMSSQL.EOF
Response.write objMSSQL("PUDATETIMEFLD")
objMSSQL.MoveNext
wend
Example Result(s):
DATE/TIME:
02/01/2012 1:00pm
02/02/2012 7:00am
02/03/2012 9:00pm
02/04/2012 6:00am
02/06/2012 8:28am
Теперь, выберите все между двумя датами от (MS Access DB) ТАБЛИЦА НАЗВАЛ FuelDetail
'//THIS WOULD BE THE MS ACCESS DATABASE
strQueryMSAccess = "Select * FROM FuelDetail WHERE PICK_UP_DATE >= #" & strPickupDate & "# and TransactionDate <= #" & TransactionDate & "#" ORDER BY TransactionDate,TransactionTime DESC"
objMSACCESS.Open strQueryMSAccess
'//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE MS ACCESS DB
while not objMSACCESS.EOF
Response.write objMSACCESS("PICKUPDATE_FLD")
objMSACCESS.MoveNext
wend
Example Result(s):
DATE/TIME:
02/02/2012 7:30am
02/03/2012 11:50pm
02/05/2012 7:00pm
02/05/2012 7:05pm
02/07/2012 6:57am
Но я хотел бы объединить их (по дате/времени) и показать результаты вместе, как будто они где в одной базе данных.
Когда вы зацикливаете, это будет выглядеть примерно так.
Example Result(s):
DATE/TIME:
02/01/2012 1:00pm <-- This is from the MS SQL DB
02/02/2012 7:00am <-- This is from the MS SQL DB
02/02/2012 7:30am <-- This is from the MS ACCESS DB
02/03/2012 9:00pm <-- This is from the MS SQL DB
02/03/2012 11:50pm <-- This is from the MS ACCESS DB
02/04/2012 6:00am <-- This is from the MS SQL DB
02/05/2012 7:00pm <-- This is from the MS ACCESS DB
02/05/2012 7:05pm <-- This is from the MS ACCESS DB
02/06/2012 8:28am <-- This is from the MS SQL DB
02/07/2012 6:57am <-- This is from the MS ACCESS DB
Большое спасибо за помощь в решении моей проблемы/вопроса.
(Edit) Добавлено: ...
Может быть что-то вроде этого:
dim strAccess
dim strSQL
dim strDateNTimes
strAccess=CDate(objMSACCESS("PICKUPDATE_FLD"))
strSQL=CDate(objMSSQL("PUDATETIMEFLD"))
'//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE MS ACCESS DB
while not objMSACCESS.EOF
strDateNTimes=strDateNTimes & "," & objMSACCESS("PICKUPDATE_FLD") & ","
objMSACCESS.MoveNext
wend
'//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE SQL Server DB
while not objMSSQL.EOF
strDateNTimes=strDateNTimes & "," & objMSACCESS("PUDATETIMEFLD") & ","
objMSSQL.MoveNext
wend
'// Now just split the commas and do what you will with the date
ArrayOfValues = Split(strDateNTimes, ", ")
For i = 0 To UBound(ArrayOfValues)
Response.Write "Value " & i & " is " & ArrayOfValues(i) & "<br>"
Next
Я мало знаю ASP, только Access и SQL Server, но для меня самым простым способом является либо привязка таблиц SQL Server в вас .MDB, и относиться к ним так же, как к любой таблице Access или к ссылке таблицы доступа в SQL Server и все это через SS. –
Почему бы не создать представление в SQL с данными MSAccess и SQL вместе, а затем записать их обратно в одном запросе? Я никогда не создавал SQL-запрос в Access из MSSQL, поэтому я не уверен, что это возможно, но это ODBC, поэтому я предполагаю, что это возможно. Я бы так хотел. – RogueSpear00
Вернее - наоборот. Свяжите свои SQL-данные с вашей БД доступа и отнесите их оттуда. - Как заявил @iDevlop. – RogueSpear00