【发布时间】:2015-10-29 21:18:24
【问题描述】:
给定一个 ODBC 连接字符串,我正在尝试确定此连接是否支持交叉连接。
目前我使用以下代码来确定支持的连接运算符:
(SupportedJoinOperators)connection.GetSchema("DataSourceInformation").Rows[0]["SupportedJoinOperators"]
但这只会给我内、左、右和全连接。
例如,如果连接字符串使用 microsoft 文本驱动程序 (.txt .csv),则支持的连接运算符是 left 和 right,而驱动程序实际上不'不支持交叉连接运算符(失败并显示语法不正确的消息)。
我从this 链接收集到,使用变通办法并不能保证得到正确答案。
我也想过尝试一个较低的级别,例如使用带有 ODBC API 的 Pinvoke,例如 SqlGetInfo 或 SqlGetFunctions,但这似乎是一个死胡同。
任何帮助将不胜感激!
【问题讨论】:
-
您确定交叉联接与完全联接不同吗?
-
不完全一样,见stackoverflow.com/questions/3228871/…。但我还是会看看这是否足以满足我的要求