Как GetSchema
способ SqlConnection
класс произведение? Выполняет ли запросы? Можно ли это назвать асинхронно?Может ли метод GetSchema работать асинхронно?
ответ
Предполагая, что вы хотите C# ответ, так как он находится в теге см: Use SqlConnection.GetSchema to get Tables Only (No Views)
using System.Data.SqlClient;
и
SqlConnection.GetSchema("Tables");
или
SQLCon.Open();
DataTable tables = SQLCon.GetSchema("Tables");
SQLCon.Close();
Я думаю, что это на самом деле выполняется запрос к таблице sys или информации _schema.tables в SQL при открытии соединения. что-то вроде:
SELECT * FROM information_schema.tables
или
SELECT * FROM [database].sys.tables
И эквивалентные вызовы для других методов в классе.
Для асинхронных вызовов можно использовать
Asynchronous Processing=True;
в вашей строке соединения
string connectionString = "Data Source=yourDataSource;Initial Catalog=yourCat;Integrated Security=true;Asynchronous Processing=True;";
получили ответ на свой вопрос?
Я предполагаю, что он извлекает данные из таблиц sys. Посмотрите на http://msdn.microsoft.com/en-us/library/ms188348.aspx
Нет реализации async для GetSchema. Если вам нужна конкретная информация о методе, попробуйте использовать ILSPY.
Можете ли вы делегировать метод, который вызывает «GetSchema»? Поскольку SQL является транзакционной системой, параллельные задачи, с которыми мы работаем в C#, очень разные, возможно даже не существующие в sql. Самый высокий рейтинг ответа на эту должность хорошо объясняет это.
SQL Server (TSQL) - Is it possible to EXEC statements in parallel?
Если вы не можете запустить метод GetSchema асинхронно, так как этот метод просто возвращает таблицу данных, можно альтернативно выполнить запрос к базе данных, которая возвращает то же самое.
Это сообщение показывает GetSchema возвращает таблицу данных: http://msdn.microsoft.com/en-us/library/ms136365(v=vs.110).aspx
Прочитайте замечания на этот пост: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.getschema(v=vs.110).aspx
Если вызвать GetSchema несколько раз, последний вызов может перезаписать первый ответ.
Если вы можете, вы могли бы потенциально создать очередь службы в SQL для обработки «Asynchronous исполнения», но это очень сложно: http://rusanu.com/2009/08/05/asynchronous-procedure-execution/
Надеется, что это помогает!
- 1. Получить столбцы таблицы по GetSchema() метод
- 2. будет ли это работать асинхронно в nodejs?
- 3. Выполняется ли метод addChild синхронно или асинхронно?
- 4. Может ли цикл работать?
- 5. Может ли PHP асинхронно использовать сокеты?
- 6. Может ли Tornado WebSocketHandler получать сообщения асинхронно?
- 7. Как работать с IndexedDB асинхронно?
- 8. Как вызвать метод асинхронно?
- 9. , выполняющий метод асинхронно
- 10. Invoke метод WCF асинхронно
- 11. getschema ("Columns") + return DataType;
- 12. может быть загружен асинхронно?
- 13. Может ли этот метод удаления для Linkedlist работать?
- 14. Может ли это работать как универсальный заводский метод?
- 15. Выполнить метод асинхронно в asp.net
- 16. Метод вызова асинхронно в C#
- 17. Будет ли .NET GC работать с заброшенным объектом, выполняющим метод асинхронно?
- 18. Может ли вложенные iframe работать?
- 19. Может ли osql.exe работать автономно?
- 20. Массивный вид не может работать clickAction метод
- 21. метод класса вызова php асинхронно
- 22. Междоменный AJAX - будет ли этот метод работать?
- 23. Может ли структурная типизация работать с дженериками?
- 24. Как работать с помощниками шаблона Meteor асинхронно?
- 25. выполнить метод C# асинхронно с помощью Threading
- 26. Поддерживает ли перезапуск-сервис асинхронно?
- 27. NUnit, может ли «настроить» работать до «ValueSource»?
- 28. Может ли соединение mysqli работать параллельно?
- 29. ли эта модификация делает мой метод запуска асинхронно
- 30. Производятся ли RandomAccessFile асинхронно?
означает, что все методы соединения будут выполняться асинхронно? – Yakov
Я не знаю подробностей, но я бы предположил, что да. Вы можете попробовать прочитать http://msdn.microsoft.com/en-us/library/windows/desktop/ms724368(v=vs.85).aspx – JPK
Но это НЕ означает, что ваш код будет генерировать соединения async просто из-за этой настройки это просто означает, что это разрешено. Если он запрещен, он будет либо удерживать соединение до тех пор, пока предыдущий не будет закрыт, либо не вызовет ошибку, если вы попытаетесь вызвать открытое соединение (я не пробовал его, поэтому я не знаю.) Если ваш код начинается и заканчивается по одному то он по-прежнему является линейным процессом, поэтому вы спрашиваете, как установить пул потоков для параллельной обработки? Или просто, если это позволяет асинхронно? – JPK