Bunyi keras. Proses Migrasi Aplikasi Clarion ke Microsoft SQL 2019

Saya terus berbicara tentang kehidupan dengan Clarion. Dalam posting ini saya akan menjelaskan cara saya menyelesaikan salah satu tugas yang paling sering dihadapi pengembang Clarion, ini adalah migrasi program Clarion ke DBMS Miscrosoft SQL.





Kebetulan beberapa bulan yang lalu, 2 program tentang teknologi Clarion diserahkan kepada saya untuk diservis, alasannya menyedihkan, generasi lama pergi, dan inilah yang terjadi pada pembimbing ilmiah saya. Selama beberapa tahun saya bekerja dengannya sebagai programmer di Clarion, kemudian saya kehilangan minat pada teknologi ini dan jalan kami menyimpang. Dan sekarang, setelah beberapa tahun berlalu, saya dihadapkan pada kebutuhan untuk mendukung dan terkadang mengembangkan 2 program.





Bermasalah

Clarion, , , Update Insert Clarion , . :





       Access:Agent.Open 					! 
       Access:Agent.UseFile				! 
       clear(AGN:Record)					!     
       AGN:ID_AGENT = some_id 		!  
       set(AGN:BY_ID,AGN:BY_ID)		! ""    
       next(agent)								!     
       IF errorcode() or AGN:ID_AGENT <> some_id	!       
            RETVAL = '  '				! 
          ELSE													
            RETVAL = AGN:N_AGENT									!  
       .								
       Access:Agent.Close												  ! 
      
      



, , " " "" . . SQL :





select agent.name where id = some_id
      
      



, " 1 ", , SQL, SQL . , SQL SQL.









: 80





: 250





: + ( )





:





3





5 -









  • DCT2SQL





  • Cldump





  • BULK insert





  • UltimateSQL & Ultimate Debug





, , . . post dat .





DCT2SQL

Dictionary SQL, , foreign keys. , . .





Github





youtube . SQL.





CLDUMP

*.dat csv BULK. - . 10 15-20 . , Linux, debian. -, post , csv .





, "" , , , "" . " " " ". . , , "".





cldump debian :





apt-get install cldump
      
      



BULK insert

Dalam sepersekian detik menarik tabel dari csv ke SQL. Dalam hal ini, karena pengikatan data sudah dikonfigurasi untuk ID yang ada, tetapi pada saat yang sama penambahan otomatis perlu berfungsi, jadi harus dinonaktifkan sementara, saya juga menghabiskan cukup banyak waktu untuk menemukan pemisah yang sesuai:





BULK INSERT dbo.%table_name%
FROM table_name.csv WITH ( 
FORMAT = 'CSV', 
FIELDQUOTE = '', 
FIRSTROW = 1, 
FIELDTERMINATOR = '0x3b', 
ROWTERMINATOR = '0x0a', 
CODEPAGE='65001',
TABLOCK, 
KeepIdentity)
      
      



UltimateSQL & Ultimate Debug

Komponen ini memungkinkan Anda untuk memuat data dari SQL ke ANTRIAN seperti ini:





SQL_Result = sql.query('
select id, path_to_result 
from dbo.export_tasks as et 
where 
(status_complete = 0 or status_complete = 2) 
and export_table_id = '& exp:id
,qexport_tasks)
      
      



Jalankan kueri tanpa nilai kembali:





sql.Query('Update export_tasks set status_complete = 2 where id = ' & qexport_tasks.id)
      
      



Ada penjelasan bagus tentang cara menggunakan di youtube:





Juga, saat menginstal, di dalam template ada "telur Paskah" dari penulis, cara menyelesaikan pencarian dijelaskan oleh tautan .








All Articles