powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Кто-то писал скрипт сканирование почты Gmail и запись в базу
8 сообщений из 8, страница 1 из 1
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832005
shalomb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-то писал скрипт сканирование почты Gmail и запись в базу ,какие есть предложения
...
Рейтинг: 0 / 0
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832014
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalomb,

Скрипт-компонент в SSIS-пакете
...
Рейтинг: 0 / 0
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832077
shalomb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто хотелось бы на T_SQL сделать максимум CLR ,что бы каждый пользователь из таблицы пользователей мог видеть свой аккаунт.
...
Рейтинг: 0 / 0
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832098
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalomb,

Делайте, раз хочется. Мы не против.
...
Рейтинг: 0 / 0
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832149
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalombПросто хотелось бы на T_SQL сделать максимум CLR ,что бы каждый пользователь из таблицы пользователей мог видеть свой аккаунт.На T_SQL такую задачу не решить, на T_SQL можно обращаться только к данным в базе.

Это нужно делать на каком то обычном языке программирования, типа C#.
Сделать прогу как Windows-сервис, модуль в SSIS, процедуру CLR, или как модуль в вашем приложении - это уж как вам удобнее.
Наверное, если вам нужно сделать работу пользователя с почтовым ящиком в реальном времени, то нужно выбрать CLR или модуль в приложении.
...
Рейтинг: 0 / 0
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832175
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalombПросто хотелось бы на T_SQL сделать максимум CLR ,что бы каждый пользователь из таблицы пользователей мог видеть свой аккаунт.

SQLCLR процедура, EXTERNAL_ACCESS или UNSAFE
...
Рейтинг: 0 / 0
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832189
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalomb,

имо оптимально ssis пакетом загружать и синхронизировать данные. Настроить расписание синхронизаций.
...
Рейтинг: 0 / 0
Кто-то писал скрипт сканирование почты Gmail и запись в базу
    #39832406
shalomb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
Да я согласен ,но это для одного пользователя(почтового ящика) ,а если у меня в базе пользователей Н-ое количество почтовых ящиков ,тянуть в базу почту всех дублироавать почтовый сервер не хочется.
Немного объясню задачу уже около 10 лет занимаюсь апликацией Оффис ,где каждый Event объекта записывается (на пример СМС ,FAX,Message,напоминание) ,записывается в картатеку объектов автоматом ,для SMS я из хранимой процедуры вызываю WEB SERVICE и отправляю сообщение одно временно записываю в таблицу событий,с Факсами то же самое прием и посыл можно смотреть из апликации не бегая к факсам .

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
-- =============================================
-- Author:		Evgeny Bilik
-- Create date: 2013-09-10
-- Description:	Calls web service to sign  XML files
-- =============================================
/*


DECLARE @Rslt NVARCHAR(MAX)
EXEC [dbo].[pr_SMS_WebService] '2','0508948644','0542266651','Test SMS  form Pocedure', @Rslt out 
SELECT @Rslt


*/

ALTER PROCEDURE [dbo].[pr_SMS_WebService] (
	@AUId varchar(100),
	@FromMobileNumber varchar(100),
	@toMobileNumber nvarchar(100),
	@SmsBody nvarchar(4000),
	@Rslt NVARCHAR(1000) OUTPUT
)
AS
BEGIN

	SET NOCOUNT ON;
	
	DECLARE
		 
		  @methodName varchar(50),
		  @requestBody varchar(8000),
		  @SoapAction varchar(255), 
		  @UserName nvarchar(100), -- Domain\UserName or UserName 
		  @Password nvarchar(100), 
		  @responseText nvarchar(max),
		  @URL_WebService nvarchar(4000)=''


      ---    Эта фукция чтения параметров из таблицы параметров ---------------------------        
    SELECT @URL_WebService = dbo.fun_LookupsParamGetValue('WebService','SMS')


	
	SET @methodName = 'POST' 
	SET @SoapAction = 'http://tempuri.org/SendSmsMessage'

	--PRINT N'@strXML: ' + @strXML
	RAISERROR ('' ,0,0) WITH NOWAIT

	
	SET @requestBody = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	  <soap:Body>
		  <SendSmsMessage xmlns="http://tempuri.org/">
		  <AUId>'+@AUId+'</AUId>
		  <FromMobileNumber>'+@FromMobileNumber+'</FromMobileNumber>
		  <toMobileNumber>'+@toMobileNumber+'</toMobileNumber>
		  <SmsBody>'+@SmsBody+'</SmsBody>
		</SendSmsMessage>
	  </soap:Body>
	</soap:Envelope>'


 
	
	IF @methodName = ''
		BEGIN
			  select FailPoint = 'Method Name must be set'
			  return
		END

	SET @responseText = 'FAILED'

	DECLARE @objectID int
	DECLARE @hResult int
	DECLARE @source varchar(255), @desc varchar(255)
	DECLARE @t table (response nvarchar(max)) 

	EXEC @hResult = sp_OACreate 'MSXML2.ServerXMLHTTP', @objectID OUT

	IF @hResult <> 0 
		BEGIN
			  EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT
			  SELECT hResult = convert(varbinary(4), @hResult), 
				  source = @source, 
				  description = @desc, 
				  FailPoint = 'Create failed', 
				  MedthodName = @methodName 
			  GOTO DESTROY 
			  RETURN
		END

	-- open the destination URI with Specified method 
	EXEC @hResult = sp_OAMethod @objectID, 'open', null, @methodName, @URL_WebService, 'false', @UserName, @Password

	IF @hResult <> 0 
		BEGIN
			  EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT
			  SELECT hResult = convert(varbinary(4), @hResult), 
					source = @source, 
					description = @desc, 
					FailPoint = 'Open failed', 
					MedthodName = @methodName 
			  GOTO DESTROY 
			  RETURN
		END

	-- set request headers 
	EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'Content-Type', 'text/xml;charset=UTF-8'
	--EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'Content-Type', 'text/xml;charset=windows-1255'

	IF @hResult <> 0 
		BEGIN
			  EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT
			  SELECT hResult = convert(varbinary(4), @hResult), 
					source = @source, 
					description = @desc, 
					FailPoint = 'SetRequestHeader failed', 
					MedthodName = @methodName 
			  GOTO DESTROY 
			  RETURN
		END

	-- set soap action 
	EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'SOAPAction', @SoapAction 

	IF @hResult <> 0 
		BEGIN
			  EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT
			  SELECT hResult = convert(varbinary(4), @hResult), 
					source = @source, 
					description = @desc, 
					FailPoint = 'SetRequestHeader failed', 
					MedthodName = @methodName 
			  GOTO DESTROY 
			  RETURN
		END

	DECLARE @len int
	SET @len = len(@requestBody) 

	EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'Content-Length', @len 

	IF @hResult <> 0 
		BEGIN
			  EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT
			  SELECT hResult = convert(varbinary(4), @hResult), 
					source = @source, 
					description = @desc, 
					FailPoint = 'SetRequestHeader failed', 
					MedthodName = @methodName 
			  GOTO DESTROY 
			  RETURN
		END


	-- send the request 
	EXEC @hResult = sp_OAMethod @objectID, 'send', null, @requestBody 

	IF @hResult <> 0 
		BEGIN
			  EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT
			  SELECT hResult = convert(varbinary(4), @hResult), 
					source = @source, 
					description = @desc, 
					FailPoint = 'Send failed', 
					MedthodName = @methodName 
					SET @Rslt ='Send failed'
			  GOTO DESTROY 
			  RETURN
		END
	-- Get status text 
	DECLARE @statusText varchar(1000), @status varchar(1000) --mld will be output, because it shows success/failure
	EXEC sp_OAGetProperty @objectID, 'StatusText', @statusText out
	EXEC sp_OAGetProperty @objectID, 'Status', @status out

	

	-- Get status text 

	--SELECT @status [status], @statusText statusText, @methodName methodName --, @responseText responseText --mld SELECT

	---- Get response text 
	--exec sp_OAGetProperty @objectID, 'responseText', @responseText out

	INSERT INTO @t (response) 
		 EXEC sp_OAGetProperty @objectID, 'responseText'

	--SELECT '@t', * FROM @t
	SELECT @responseText = response FROM @t
	--SELECT @responseText responseText --mld SELECT

	IF @hResult <> 0 
		BEGIN
			  EXEC sp_OAGetErrorInfo @objectID, @source OUT, @desc OUT
			  SELECT hResult = convert(varbinary(4), @hResult), 
					source = @source, 
					description = @desc, 
					FailPoint = 'ResponseText failed', 
					MedthodName = @methodName 
					SET @Rslt =''
			  GOTO DESTROY 
			  RETURN
		END

/***************************************************************************************************************/
--Parse Result XML to get SignedXML

	SELECT @responseText = replace(@responseText, 'encoding="utf-8"', 'encoding="utf-16"')

	DECLARE @xDoc as xml
	SET @xDoc = CAST(@responseText as xml)

	SELECT @status [status], @statusText statusText, @methodName methodName , @xDoc [@xDoc]
    SET @Rslt = @statusText
/***************************************************************************************************************/

	DESTROY: 
		  EXEC sp_OADestroy @objectID 


END

...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Кто-то писал скрипт сканирование почты Gmail и запись в базу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]