Чтобы подключиться к ODBC-источнику данных под учетной записью текущего пользователя Windows (то есть с использованием интегрированной аутентификации), можно использовать VBScript на базе WSH (Windows Script Host) и механизм ADO. Основная идея состоит в том, чтобы в строке подключения явно указать Trusted_Connection=Yes или Integrated Security=SSPI. Ниже приведён пример кода без каких-либо плейсхолдеров:
Option Explicit
Dim objConnection
Set objConnection = CreateObject("ADODB.Connection")
' Здесь DataSourceName — это имя вашего ODBC источника данных (DSN), который вы настроили в системных настройках ODBC.
' При использовании Trusted_Connection=Yes, скрипт будет подключаться к БД под текущим пользователем Windows.
objConnection.Open "DSN=DataSourceName;Trusted_Connection=Yes;"
' Проверка подключения
If objConnection.State = 1 Then
WScript.Echo "Подключение успешно выполнено!"
Else
WScript.Echo "Не удалось подключиться к источнику данных."
End If
' --- Действия с базой данных ---
' Напишите ваш SQL-запрос или логику работы с данными.
' Например:
'Dim rs
'Set rs = objConnection.Execute("SEL ECT TOP 10 * FR OM SomeTable")
'Do Until rs.EOF
' WScript.Echo rs("ColumnName")
' rs.MoveNext
'Loop
'rs.Close
'Set rs = Nothing
' Закрываем соединение
objConnection.Close
Set objConnection = Nothing
Пояснения по шагам:
Создание объекта ADO Connection: CreateObject("ADODB.Connection") даёт нам объект подключения к базе данных.
Trusted_Connection=Yes говорит драйверу, что надо использовать Windows-аутентификацию и текущие учётные данные пользователя, запускающего скрипт.
Проверка objConnection.State даёт понять, удалось ли подключиться.
Выполнение SQL-запросов: с помощью методов объекта objConnection или с использованием объекта Recordset.
Закрытие соединения: всегда закрывайте соединение после завершения работы.
Если в вашей среде требуется использовать другие параметры (например, конкретный драйвер или сервер), достаточно подправить строку подключения. Но в базовом случае через существующий DSN, настроенный под Windows-аутентификацию, достаточно прописать вышеуказанную строку с Trusted_Connection=Yes.
Таким образом, запустив этот VBScript через WSH (например, командой cscript scriptname.vbs), вы сможете подключиться к ODBC-источнику данных под текущей учётной записью Windows.
При разработке бота для телеграмма многие сталкиваются с вопросом: Как запросить номер телефона у пользователя? Вам поможет наш уютный блог!
const token = 'токен вашего бота';
const TelegramBot = require('node-telegram-bot-api');
const bot = new TelegramBot(token, {polling: true});
bot.onText(/\/start/, (msg) => {
let message = "Для авторизации нам нужен номер вашего телефона. Это необходимо для работы сервиса.";
bot.sendMessage(msg.chat.id, message, {
reply_markup: {
keyboard: [
[{text: 'Отправить мой номер', request_contact: true }]
],
resize_keyboard: true,
one_time_keyboard: true
}
});
});
bot.on('contact', (msg) => {
console.log(msg.contact.phone_number)
})
Вот простой пример запроса номера телефона из бота телеграмма. При старте, бот отправляет запрос request_contact: true У пользователя на экране появится предупреждение, что бот хочет узнать его номер. Если ответ будет "да", то мы получим номер, на каторый зарегистрирован аккаунт в телеграм!
Следите за нашими блогами, будет еще много интересного!
Для различных целей может понадобится создание своего СОМ объекта операционной системы. Например для взаимодействия с библиотеками, которые обычными способами нельзя вызвать из 1С. Создать свой СОМ объект со своим функционалом довольно просто. Смотри, что умею:
<?xml version="1.0"?>
<component>
<registration
description="Объект который я создал, почитав блог it-klaster.com"
progid="TestCOMobject.TextProvider "
version="1.0"
>
</registration>
<public>
<method name="GetStart">
<parameter name="text" type="out"/>
</method>
</public>
<script language="VBScript">
<![CDATA[
Function GetStart(text)
text = "Текст процедуры ну или вообще все что угодно"
End Function
]]>
</script>
</component>
Это файл WSC - содержит СОМ объект с описанием методов и функцией вывода текстовой информации. Регистрируем его командой regsvr32 и вызываем из 1С:
COM_Объект = Новый COMОбъект("TestCOMobject.TextProvider");
Текст = "";
COM_Объект.GetStart (Текст);
Сообщить(Текст);
В файл COM объекта можно положить любой код VBS, подключать другие объекты (например такие, которые 1С не может подключать). Синтаксический анализ происходит в момент регистрации. Если код написан с ошибками - объект не зарегистрируется.
Чем больше становится телеграмм каналов, тем больше там спамеров. Для борьбы с этим пагубным явлением, предлагаю вашему вниманию простейшего телеграмм бота. Код написан на NodeJS с использованием библиотеки telegraf
Решили тут мы на досуге разработать свою программную часть для tcp/ip камеры. Чтобы можно было установить ПО на микрокомпьютер, подключить к нему объектив (по типу WEB камеры) и распознать полученное изображение. Эта разработка расширит фунционал нашего продукта Cluster Hub Результатом подобного эксперимента хочу поделиться с читателями.