Я обнаружил, что вместо указания короткого имени для источника данных, где бы ни находилась строка подключения, простое описание всего подключения может решить подобные проблемы. Если вы не хотите отыскивать указанную проблему конфигурации c на машине, вы можете обойти ее, но у меня ее еще не было.
Так что, если ваш файл TNSNames имеет:
MYSID=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = mydnshostname)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MYSID)
)
)
и ваша строка подключения в web.config выглядит примерно так:
<connectionStrings>
<add name="MyConnection" connectionString="Data Source=MYSID;User ID=myUser;Password=myPassword;providerName="Oracle.DataAccess.Client" />
</connectionStrings>
вы можете сделать это вместо этого в файле конфигурации:
<connectionStrings>
<add name="MyConnection" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = mydnshostname)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME = MYSID)));User ID=myUser;Password=myPassword;providerName="Oracle.DataAccess.Client" />
</connectionStrings>