【问题标题】:Provide a URI as a parameter for an ODBC or OleDB provider connection string?提供 URI 作为 ODBC 或 OleDB 提供程序连接字符串的参数?
【发布时间】:2011-01-26 03:14:36
【问题描述】:

有没有办法将 URI(而不是物理路径)指定为 OleDB 连接字符串中的“Data Source”参数,或 ODBC 连接字符串中的“Dbq”参数,这样默认ADO.Net 供应商会使用它吗?

我试过file://,但不行,所以我只是想确认一下这是否可行。我猜不是,但任何确认或文档链接将不胜感激。

【问题讨论】:

  • 你理解这个符号吗?文件名=c:\myDataLinkFile.udl
  • 不 - 我的意思是一个 URI。像 http:// 或 file:// 或 ftp://。不是绝对或相对物理路径的东西,例如“C:\”或“\\something\temp”。
  • 我认为在Oracle中是这样的:Data Source=username/password@//myserver:1521/my.service.com;
  • @igor - 感谢您的回复,但请阅读问题。我正在寻找专门将 URI 作为数据源参数传递给 OleDB 或 ODBC 连接字符串。我已经尝试过“file://”,但它似乎不起作用。

标签: c# ado.net odbc oledb connection-string


【解决方案1】:

我很可能误解了这个问题,但我相信除非特定提供商允许该功能,否则不可能按照您的要求进行操作。我编写了 ODBC 驱动程序、OLE DB 提供程序和 ADO.NET 数据提供程序的一部分。在所有情况下,我的经验是数据源值直接传递给底层提供程序/驱动程序,无需任何转换。事实上,在许多情况下,从应用程序到提供者本身的调用几乎是直接调用,没有任何额外的层(例如,SqlConnection myconn = new SqlConnection( connstring ); 不经过任何中间层,甚至有机会使用连接字符串。因此,如果提供者没有将 URI 识别为有效的数据源,则会出现错误。

因此,据我了解,问题在于规范是否要求提供者/驱动程序开发人员识别 URI。我已经阅读了很多关于这些技术的规范,并且不记得看到任何需要这种支持的东西。如果存在这样的规范,那么我还有一些工作要做:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-09
    • 2019-06-21
    • 2016-04-03
    • 2017-10-05
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多