DbDataSourceEnumerator返回带有OracleDatabaseClient的空表
本文关键字:OracleDatabaseClient 返回 DbDataSourceEnumerator | 更新日期: 2023-09-27 17:59:07
此C#代码用于VS 2010,以查找通过TNS:可用的Oracle数据库
string ProviderName = "Oracle.DataAccess.Client";
DbProviderFactory factory = DbProviderFactories.GetFactory(ProviderName);
if (factory.CanCreateDataSourceEnumerator)
{
DbDataSourceEnumerator dsenum = factory.CreateDataSourceEnumerator();
DataTable dt = dsenum.GetDataSources();
.....
}
用VS Express 2013替换VS2010后,不会出现任何错误,但表dt
始终为空,没有行。有人知道出了什么问题吗?
我自己找到了解决方案。如果TNSNAMES.ORA中存在语法错误,则返回一个空表。您没有像预期的那样从文件中获得正确的条目。一个错误毁了他们所有人。