Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
ADO SQL INSERT INTO в другой Excel, Вставить данные из текущего файла в другой файл
 
Добрый день!
У меня такой вопрос.
Мне нужно из хранимой процедуры одного сервера SQL записать данные в таблицу на другой сервер SQL.
Я попробовал
Sub Test()

Dim conn As String
Dim data_base As String
Dim period As String
Dim datasource As String
Dim object_id As String
Dim dt As Integer
Dim day_start  As String
Dim date_beg  As String
Dim date_end  As String



conn = "Provider=SQLOLEDB.1;Password=Knpz_asrmb;Persist Security Info=True;User ID=USER_ASRMB;Initial Catalog=TCD_Work;Data Source=Sam-knpz-app24"
conn1 = "Provider=SQLOLEDB.1;Password=ASRMB;Persist Security Info=True;User ID=ASRMB;Initial Catalog=dbm_asrmb_knpz_20190129;Data Source=KNPZ-ASRMB-N1\MSSQLASRMB1"


JS_params = "{" + Chr(34) + "id_object" + Chr(34) + ":" + Chr(34) + object_id + Chr(34) + "," _
  + Chr(34) + "period" + Chr(34) + ":" + Chr(34) + period + Chr(34) + "," _
  + Chr(34) + "datasource" + Chr(34) + ":" + Chr(34) + CStr(dt) + Chr(34) + "," _
  + Chr(34) + "date" + Chr(34) + ":" + Chr(34) + day_start + Chr(34) + "," _
  + Chr(34) + "date_beg" + Chr(34) + ":" + Chr(34) + date_beg + Chr(34) + "," _
  + Chr(34) + "date_end" + Chr(34) + ":" + Chr(34) + date_end + Chr(34) + "}"
 
Query conn, JS_params

End Sub

Sub Query(connStr As String, jsonParams As String)



Dim cnDB As New ADODB.Connection
Dim rc As New ADODB.Recordset
cnDB.CommandTimeout = 360
cnDB.Open connStr

Dim params As Object
Set params = JsonConverter.ParseJson(jsonParams)

Dim period  As String
Dim object_id  As String
Dim day_start  As String
Dim date_beg  As String
Dim date_end  As String
Dim data_source  As String
Dim dataseg As String
Dim day1 As String
Dim month1 As String
Dim year1 As String
Dim dt As String


dataseg = Date
ThisWorkbook.Sheets(2).Cells(1, 2).Value = dataseg
day1 = Day(dataseg)
month1 = Mid(dataseg, 4, 2)
year1 = year(dataseg)
ThisWorkbook.Sheets(2).Cells(2, 1).Value = day1
ThisWorkbook.Sheets(2).Cells(3, 1).Value = month1
ThisWorkbook.Sheets(2).Cells(4, 1).Value = year1
dt = year1 + month1 + day1
ThisWorkbook.Sheets(2).Cells(5, 1).Value = dt




period = params("period" ;)

object_id = params("id_object" ;)

data_source = params("datasource" ;)

date_beg = params("date_beg" ;)

date_end = params("date_end" ;)

day_start = params("date" ;)




Dim ws As Worksheet

'Set ws = Sheets("Áàëàíñ ïî çàâîäó" ;)

'ws.UsedRange.Clear

Dim sql As String

sql = "set nocount on EXEC spTCD__KNPZ_shipment '" + dt + "',1"

rc.Open sql, cnDB
ThisWorkbook.Sheets(1).Cells(1, 1).CopyFromRecordset rc
rc.Close
cnDB.Close



Dim cn1DB As New ADODB.Connection
Dim rc1 As New ADODB.Recordset
cn1DB.CommandTimeout = 360
cn1DB.Open "Provider=SQLOLEDB.1;Password=ASRMB;Persist Security Info=True;User ID=ASRMB;Initial Catalog=dbm_asrmb_knpz_20190129;Data Source=KNPZ-ASRMB-N1\MSSQLASRMB1"

Dim sql2 As String

sql2 = "Insert INTO [dbm_asrmb_knpz_20190129].[dbo].[tsd] (id_prod, prod_name, prod_okp,prod_ksm, id_transType, transtype, id_owner, owner, m_netto, shipDT) From rsADO"


rc1.Open sql2, cn1DB
ThisWorkbook.Sheets(3).Cells(1, 1).CopyFromRecordset rc1
rc1.Close
cn1DB.Close



В один рекордсет я записал данные. Но не могу записать из него в таблицу
Страницы: 1
Наверх