是否可以在 Oauth 身份验证中进行并行处理



我正在尝试使用多线程来连接CData驱动程序。是否可以在CData中并行处理数据。

OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = "xxxx";
Task task1 = Task.Factory.StartNew(() => ReadData(conn));
Task task2 = Task.Factory.StartNew(() => ReadData(conn));
Task task3 = Task.Factory.StartNew(() => ReadData(conn));
Task task4 = Task.Factory.StartNew(() => ReadData(conn));
Task task5 = Task.Factory.StartNew(() => ReadData(conn));
public static void ReadData(OdbcConnection con)
{
con.Open();
// code
}

请让我知道有任何解决方案。提前谢谢。

这是可能的。如果使用"其他"属性设置 OAuthSettingsLocation 属性,则可以执行数据的并行处理。可以在 DSN 中设置该属性,也可以在无 DSN 连接中动态设置该属性(请参阅下面的代码示例)。

OAuth设置位置- 保存 OAuth 值的设置文件的位置。这可以是磁盘上驱动程序具有读/写权限的任何位置。

使用 DSN 管理器执行 OAuth

在使用驱动程序之前,您需要向服务进行身份验证。为此,您可以使用DSN向导中的测试连接。

打开 ODBC
  1. 数据源管理器(从"开始"菜单中,键入"ODBC")
  2. 使用驱动程序选择或创建新的 DSN。
  3. 在"其他"属性
  4. 中设置"OAuthSettingsLocation"属性,然后单击"测试连接"。(系统将提示您在新的浏览器窗口中使用服务进行身份验证。

代码示例

字符串驱动程序 ="CData ODBC 驱动程序用于 QuickBooksOnline"; string oauthSettingsLocation = "C:/users//AppData/Roaming/CData/QuickBooksOnline ODBC Driver"; 字符串 connString = "DRIVER={" + driver + "};其他=OAuth设置位置=" + oauthSettingsLocation; Task task1 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString))); Task task2 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString))); Task task3 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString))); Task task4 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString))); Task task5 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString)));

注意

CData 软件还制作了 ADO.NET 提供程序,这些提供程序可能会在 .NET 应用程序中提供更原生的体验。

相关内容

  • 没有找到相关文章

最新更新