当您知道DSN名称时,是否可以从Odbc数据源获取信息?
例如,获取用户id,等等
我需要打开到某个dataSource的连接并执行一些命令。我只知道数据源名称(在ODBC data source Administrator中定义)和命令文本。
现在,如果我需要关于该数据源的更多信息,有没有办法以编程方式获得这些信息?也许是一个表示ODBC数据源的类?
tks
发布于 2010-02-11 23:53:20
我同意巴特沃思先生的意见,因为我不确定你到底在问什么,但你可以在注册表中找到一些信息,网址是:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\{DSN Name}发布于 2010-02-12 00:03:16
有一个完整的C API to support ODBC。其他语言(并且您没有说明您正在使用哪种语言)提供了对此的封装。只要给出一个数据源名称,您就可以访问它所引用的数据--这取决于它是如何设置的。
发布于 2014-01-16 00:46:49
您可以从odbccp32.dll调用SQLGetPrivateProfileString Function来检索您正在查找的信息。
在C#中,导入DLL和函数如下所示:
[DllImport("odbccp32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern int SQLGetPrivateProfileStringW(string lpszSection, string lpszEntry, string lpszDefault, char[] RetBuffer, int cbRetBuffer, string lpszFilename);在VB.NET中看起来是这样的:
<DllImport("odbccp32.dll", SetLastError:=True, CharSet:=CharSet.Unicode)> _
Private Shared Function SQLGetPrivateProfileStringW(lpszSection As String, lpszEntry As String, RetBuffer As Char(), cbRetBuffer As Integer, lpszFilename As String) As Integerhttps://stackoverflow.com/questions/2245572
复制相似问题