Puncte:0

Cum se inserează un tabel de câmp de date SQL Server de la un alt server SQL într-un ip diferit de Ubuntu 20.04?

drapel in

Hai, am nevoie de ajutor pentru a insera date de la un ip de server sql la un alt ip de server sql. Am încercat să folosesc sqlcmd, dar nu funcționează ca sintaxa mysql pe bash, care poate insera date folosind fișierul csv sau txt după ce manipulez datele cu awk.

În acest caz există 2 tabele și 2 IP:

  • Tabel A (câmp: A1,A2,A3,A4,A5) pe IP 22
  • Tabel B (câmp: B1,B2,B3,..., Bn) pe IP 23
  • Trebuie să insert astfel de date (de la A1 la B2) Trebuie să le rulez cu taskscheduler sau crontab

Sper că cineva mă poate ajuta cu cazul meu

David avatar
drapel cn
Ce legătură are asta cu Ubuntu? Nu văd nicio referire la el decât în ​​titlul tău. Fără versiune, fără detalii, nimic.
Preman Terminal avatar
drapel in
@David Folosesc versiunea ubuntu 20.04 pentru a apela și a trimite date de pe serverul sql. Ce fel de detaliu ai nevoie pentru a mă ajuta?
drapel in
Probabil că veți dori să învățați puțin Python pentru asta, deoarece asta vă va permite să creați un script care poate citi de pe un server și scrie pe celălalt. Odată scris, puteți apela acel script cu crontab. Există o mulțime de exemple despre cum să scrieți instrumente Python care citesc și scriu pe SQL Server pe Stack Overflow
drapel ch
Spuneți că ați încercat sqlcmd, vă rugăm să actualizați întrebarea cu încercarea nereușită.
Preman Terminal avatar
drapel in
@Serg Nu știu cum să trimit date din fișierele txt/csv la un tabel. si dupa ce caut pe google sunt .sql la db pe alt IP nu din fisierul .csv sau .txt. pe mysql, trebuie doar să rulăm sintaxa insert. dar în sqlcmd nu funcționează deoarece pentru a obține date folosim o sintaxă diferită între sqlcmd și sql server. acesta este codul meu pentru a obține date din tabel: ``` sqlcmd -S IP -U sa -P parola -d db -Q " selectați * din VW_HRIS_ATT_TO_ASCEND" -o "absensi_pagi_${d}.csv" -s"|" -h-1 -W ```
Preman Terminal avatar
drapel in
@matigo ok, voi încerca cu python, aveți vreo sugestie sau cod de exemplu?
Puncte:0
drapel in

În sfârșit am găsit o modalitate de a rezolva asta.

Mai întâi, obțineți date din tabelul pe care vrem să-l mutam folosind sqlcmd.

sqlcmd -S ipdb -U sa -P „parolăsa” -d dbname -Q „selectați * din tabelname” -o „direktori/file.csv” -s"," -W -w 700

și apoi, după ce ajustăm fișierul la structura tabelului țintă pe diferite servere. Îl trimitem folosind sintaxa BCP. Și păstrați-l în crontab pentru planificatorul care rulează.

bcp Tablename în ~/filename.txt -S localhost -U sa -P <parola_dvs.> -d Databasename -c -t ','

Sau putem citi asta Legătură

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.