Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menghindari batas sp_OACreate?

terlepas dari subjek posting Anda, saya pikir masalahnya mungkin dengan sp_OAMethod dan bukan sp_OACreate itu sendiri.

juga IMHO mengakses web dari kode sql harus dihindari dengan cara apa pun, tetapi ini hanya pendapat saya karena saya tidak suka ide memiliki RDBMS 'menjelajahi web'. ^^

untuk menghindari batasan sp_OAMethod Anda dapat mencoba menguraikan jawaban yang ada di msdn .

kode Anda akan menjadi seperti ini:

Declare @Object as Int; 
Declare @ResponseText as Varchar(8000); 
Declare @Url as Varchar(MAX);

set @Url = 'http://mysite.ru/cgi-bin/my_xml.cgi'

Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT; 
Exec sp_OAMethod @Object, 'open', NULL, 'get', @Url, 'false' 
Exec sp_OAMethod @Object, 'send' 
--Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT 

INSERT #temptable ( appropriatefield )
EXEC @Result = sp_OAGetProperty @Obj, 'YourPropertyName' 

Exec sp_OADestroy @Object

solusinya memerlukan tabel temp dengan struktur dan tipe data yang sesuai untuk menyimpan nilai yang dihasilkan oleh halaman jarak jauh dan ini akan memungkinkan Anda mendapatkan lebih dari 4k data.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Izin SELECT ditolak pada objek 'Alamat', basis data 'CNET_85731', skema 'dbo'

  2. Bagaimana saya bisa menjalankan .sql dari C#?

  3. Tulis angka dengan dua tempat desimal SQL Server

  4. Bagaimana cara menghapus data tabel yang besar dalam SQL tanpa log?

  5. Pertahankan waktu henti tabel seminimal mungkin dengan mengganti nama tabel lama, lalu mengisi versi baru?