1

글쎄, Oracle에서 SQL Server로 응용 프로그램의 연결을 변경하려고합니다. 나는 web.config에 이것을 가지고있다.SQL Server에 연결할 Web.config 항목

<compilation debug="true"> 
    <assemblies> 
     ... 
     <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     ... 
    </assemblies> 
</compilation> 

<appSettings> 
    <add key="DatabaseProvider" value="Test.App.Oracle8i"/> 
    <add key="SmtpUser" value="[email protected]"/> 
    <add key="SmtpPassword" value="testpassword"/> 
    <add key="SmtpDefaultSender" value="[email protected]"/> 
    <add key="SmtpHost" value="mail.example.com"/> 
    <add key="SmtpPort" value="25"/> 
    <add key="EnableSsl" value="False"/> 
</appSettings> 

<connectionStrings> 
    <add name="CnString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=loCALHOST)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=TESTUSER;Password=TESTPASSWORD;"/> 
</connectionStrings> 

내가 실행하고 오류를 표시하지 않습니다 이러한 응용 프로그램이 값을 변경하려면이

.

<compilation debug="true"> 
    <assemblies> 
     ... 
     <add assembly="System.Data.SqlClient, Version=10.50.1600, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     ... 
    </assemblies> 
</compilation> 

<appSettings> 
    <add key="DatabaseProvider" value="Test.App.SqlServer"/> 
    <add key="SmtpUser" value="[email protected]"/> 
    <add key="SmtpPassword" value="testpassword"/> 
    <add key="SmtpDefaultSender" value="[email protected]"/> 
    <add key="SmtpHost" value="mail.example.com"/> 
    <add key="SmtpPort" value="25"/> 
    <add key="EnableSsl" value="False"/> 
</appSettings> 

마지막

<connectionStrings> 
    <add name="CnString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=MSSQLSERVER)));Initial Catalog=TESTDATABASE;User Id=TESTUSER;Password=TESTPASSWORD;"/> 
</connectionStrings> 

또는

<connectionStrings> 
    <add name="CnString" providerName="System.Data.SqlClient" connectionString="Data Source=(local)\\MSSQLSERVER;Initial Catalog=TESTDATABASE;User Id=TESTUSER;Password=TESTPASSWORD;"/> 
</connectionStrings> 

이해가 안

은 라인을 만들 예정이다. 당신은 SQL 서버에 연결해야

<add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
<add key="DatabaseProvider" value="Test.App.Oracle8i"/> 
<add name="CnString" connectionString="Data Source=**(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=loCALHOST)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)))**;User Id=TESTUSER;Password=TESTPASSWORD;"/> 
+0

SQL Server의 - 당신은 섹션이 필요하고 .. 나머지는 모두 당신이 오라클에 대해 가지고있는 제거 할 수의 ConfigurationManager 클래스를 사용하여 코드에서 사용 ... 모든 공급자마다 다른 설정이 필요하므로 1 : 1 매핑이 없습니다. – sajoshi

+0

글쎄, 나는 이것에 대해 새롭고 당신이하는 말을 이해하지 못한다. 예를 들어 주시겠습니까? 아니면 올바르게 할 단계를 말해 줄 수 있습니까? – COAR

답변

1

유일한 2 개 라인은 다음과 같습니다

<connectionStrings> 
    <add name="CnString" providerName="System.Data.SqlClient" connectionString="Data Source=(local)\\MSSQLSERVER;Initial Catalog=TESTDATABASE;User Id=TESTUSER;Password=TESTPASSWORD;"/> 
</connectionStrings> 

및 .NET 2.0/3.x의 경우에

<assemblies> 
    <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
</assemblies> 

(변경 버전과 publicKeyToken)

다음 사용하십시오 :

SqlConnection connection = new SqlConnection("CnString"); 
// ... 

그게 전부입니다.


.NET에는 System.Data.SqlClient, Version=10.50.1600, ...과 같은 어셈블리가 없습니다. SqlClient는 standart .NET Framework 배포의 일부입니다. 예를 들어

, System.Data.SqlClient.SqlConnection :

Namespace: System.Data.SqlClient 
Assembly: System.Data (in System.Data.dll) 
관련 문제