.net 网站项目+oracle 迁移到来64位操作系统不成功

caoleisu 2013-07-29 02:25:11
你好:
近期遇到个问题一起没有解决。请帮忙看看。
我们近期限要将一个.net网站项目迁到位window2008上。原来是2003的系统。
环境描述:.net网站项目,不是应用程序项目。操作系统:window2008.数据库oracle。服务器上安装的oracle数据库客户端是在64位。
问题描述:我将原先的发布好的项目迁过来。报:未在本地计算机上注册“msdaora”提供程序。
查了一些资料,可能是由于数据库是在64位的。而网站项目不支持64位。网站项目在编辑的时候,没有过“目标平台”的选项。
解决方法1,是安装公司32位数据库客户端。可服务器内存已经超过2g.如果换成32位客户端,应该是是管理不了内存的。
解决文法2,将网站项目转成网站应用程序项目(这样发发布的时候就可以选择“目标平台”选择位)。但这样操作较复杂,项目的页面比较多,转换太费时间表。

请问:这种有没解决办法?

再搞不定,这月绩校玩完了。
...全文
315 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
踏平扶桑 2013-08-05
  • 打赏
  • 举报
回复
引用 15 楼 caoleisu 的回复:
你这个好像安装的是32位的客户端吧?
64位的IIS需要64位的客户端 VS需要32位的客户端(调试使用)
caoleisu 2013-07-30
  • 打赏
  • 举报
回复
顶啊顶啊顶啊顶啊顶啊
caoleisu 2013-07-30
  • 打赏
  • 举报
回复
早上顶一下。。。。。
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
这个应该是数据库原因是,顶一下。
  • 打赏
  • 举报
回复
谁告诉你网站项目不能选目标平台的,在解决方案的配置管理器里 默认是AnyCpu,如果已经选定编译成了32位的,你需要在IIS7应用程序池上启用32位模式(最好选AnyCpu) 连接数据库也不应该有问题的,检查Oracle的配置
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
自己顶一下吧。哎。。。。。
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
你这个好像安装的是32位的客户端吧?
踏平扶桑 2013-07-29
  • 打赏
  • 举报
回复
IIS下面网站bin的关于oracle的DLL要换成64位的dll(64位的oracle客户端)才能被IIS调用(VS调试的时候需要用32位的oracle的dll(32位的oracle客户端))。 你可以参考一下 http://blog.csdn.net/5653325/article/details/6309119
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
是个网站项目,只能选any cpu. “ 而且你程序中对Oracle 驱动的引用也要换成64位的DLL ,重新编译好发布就行了. ” 这个怎么换? vs调试也不行,报“未找到oracle客户端和组件。这些组件……”
lsgy2008 2013-07-29
  • 打赏
  • 举报
回复
DLL文件编译生成Any CPU 试试。。要不换一下.net 自己的连接方式System.Data.OracleClient
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
刚开会了, 我试试,谢谢
Johnyin 2013-07-29
  • 打赏
  • 举报
回复
你的开发环境,也需要是64位系统,且安装了64位的Oracle客户端. 而且你程序中对Oracle 驱动的引用也要换成64位的DLL ,重新编译好发布就行了.
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
我这个webconfig 应该比较简单。请你帮我看看呢
<?xml version="1.0"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
	<appSettings>
		<add key="conStr" value="Provider=MSDAORA;User ID=sqzzdn;Data Source=sqjt;Password=sqzzdn"/>
    <add key="FCKeditor:BasePath" value="~/fckeditor/"/>
    <!--<add key="FCKeditor:UserFilesPath" value="/Files/" />-->
  </appSettings>

  <connectionStrings/>

  <location path="busi_conf">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
  
	<system.web>
		<!-- 
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
		<compilation debug="true">
			<assemblies>
				<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
		<!--
            通过 <authentication> 节可以配置 ASP.NET 使用的 
            安全身份验证模式,
            以标识传入的用户。 
        -->
		<authentication mode="Forms">
			<forms name="sqcrmweb" loginUrl="login.aspx" protection="All" timeout="1000" path="/"/>
		</authentication>
    
		<!--  自定义错误信息
          设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。 
          为每个要处理的错误添加 <error> 标记。

          "On" 始终显示自定义(友好的)信息。
          "Off" 始终显示详细的 ASP.NET 错误信息。
          "RemoteOnly" 只对不在本地 Web 服务器上运行的
           用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便 
           不向远程客户端显示应用程序的详细信息。
            defaultRedirect="login.aspx"
    -->
		<customErrors mode="Off"/>
		<!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
            开发人员通过该节可以配置
            要显示的 html 错误页
            以代替错误堆栈跟踪。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->

    <!--  会话状态设置
          默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
          如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
         若要禁用 Cookie,请设置 sessionState cookieless="true"。
    -->
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="1000"/>
    
		<globalization requestEncoding="GB2312" responseEncoding="GB2312"/>
	</system.web>
</configuration>
耗子哭死猫 2013-07-29
  • 打赏
  • 举报
回复
和你一样,我把在配置中的都注释了,开发引用的和服务器上安装的版本不一样。
<?xml version="1.0"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
	<configSections>
		<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
			<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
				<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
				<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
					<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
					<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
					<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
					<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
				</sectionGroup>
			</sectionGroup>
		</sectionGroup>
	</configSections>
	<appSettings>
		<add key="database" value="192.168.5.248/ORCL"/>
		<add key="userid" value="ADMIN_SYSJFX"/>
		<add key="password" value="ADMIN_SYSJFX"/>
    <add key="userPWD" value="123"/>
	</appSettings>
	<connectionStrings>
		<remove name="OraAspNetConString"/>
		<add name="OraAspNetConString" connectionString="Data Source=//192.168.5.248/ORCL;user id=ADMIN_SYSJFX;password=ADMIN_SYSJFX"/>
	</connectionStrings>
	<system.web>
		<!-- 
            设置 compilation debug="true" 可将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
		<compilation debug="true">
			<assemblies>
				<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
				<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<!--<add assembly="Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89B483F429C47342"/>-->
				<add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
				<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				<add assembly="Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<!--<add assembly="Oracle.DataAccess, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89B483F429C47342"/>-->
				<add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
				<add assembly="Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89B483F429C47342"/></assemblies>
		</compilation>
		<!--
            通过 <authentication> 节可以配置 ASP.NET 用来 
            识别进入用户的
            安全身份验证模式。 
        -->
		<authentication mode="Windows"/>
		<!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
            开发人员通过该节可以配置
            要显示的 html 错误页
            以代替错误堆栈跟踪。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
		<customErrors mode="Off">
		</customErrors>
		<pages>
			<controls>
				<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
				<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
				<add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>
			</controls>
		</pages>
		<httpHandlers>
			<add path="Ajax/*.ashx" verb="POST,GET" type="Ajax.PageHandlerFactory, Ajax"/>
			<remove verb="*" path="*.asmx"/>
			<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
			<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
			<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
		</httpHandlers>
		<httpModules>
			<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
		</httpModules>
		<httpRuntime maxRequestLength="1048576" executionTimeout="300"/>
		<webServices>
			<protocols>
				<add name="HttpGet"/>
				<add name="HttpPost"/>
				<add name="HttpPostLocalhost"/>
				<add name="Documentation"/>
			</protocols>
		</webServices>
	</system.web>
	<system.codedom>
		<compilers>
			<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
				<providerOption name="CompilerVersion" value="v3.5"/>
				<providerOption name="WarnAsError" value="false"/>
			</compiler>
			<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
				<providerOption name="CompilerVersion" value="v3.5"/>
				<providerOption name="OptionInfer" value="true"/>
				<providerOption name="WarnAsError" value="false"/>
			</compiler>
		</compilers>
	</system.codedom>
	<!-- 
        在 Internet 信息服务 7.0 下运行 ASP.NET AJAX 需要 system.webServer
        节。对早期版本的 IIS 来说则不需要此节。
    -->
	<system.webServer>
		<validation validateIntegratedModeConfiguration="false"/>
		<modules>
			<remove name="ScriptModule"/>
			<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
		</modules>
		<handlers>
			<remove name="WebServiceHandlerFactory-Integrated"/>
			<remove name="ScriptHandlerFactory"/>
			<remove name="ScriptHandlerFactoryAppServices"/>
			<remove name="ScriptResource"/>
			<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
			<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
			<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
		</handlers>
		<defaultDocument>
			<files>
				<add value="Login.aspx"/>
			</files>
		</defaultDocument>
	</system.webServer>
	<runtime>
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
			<dependentAssembly>
				<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
				<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
			</dependentAssembly>
			<dependentAssembly>
				<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
				<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
			</dependentAssembly>
		</assemblyBinding>
	</runtime>
</configuration>
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
是的,iis报的错。先谢谢你。 你服务器上装的也是在64位oracle客户端吗?
耗子哭死猫 2013-07-29
  • 打赏
  • 举报
回复
是在程序上web.config报错的吗?
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
试过了。设成这样以后,报“未找到oracle客户端和网络组件。这些组件是由oracel 公司提供的,是oraqcle7.3.3版(或更高)客户软件安装的一部分”。 网上说一般这咱情况文件更权限问题,设也设了。可还是不行。
耗子哭死猫 2013-07-29
  • 打赏
  • 举报
回复
你在IIS上可以设置项目启用32位或者64位的。这个我也遇到过
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
数据库测试连接是成功了。上面还有个java系统,运行正常的
caoleisu 2013-07-29
  • 打赏
  • 举报
回复
自己顶一下了
加载更多回复(1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧