惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Cloudbric
Cloudbric
P
Palo Alto Networks Blog
T
Threatpost
T
Tor Project blog
T
Tenable Blog
AWS News Blog
AWS News Blog
Project Zero
Project Zero
L
LangChain Blog
Cyberwarzone
Cyberwarzone
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
C
CERT Recently Published Vulnerability Notes
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Latest
Security Latest
云风的 BLOG
云风的 BLOG
I
Intezer
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
MongoDB | Blog
MongoDB | Blog
aimingoo的专栏
aimingoo的专栏
K
Kaspersky official blog
Jina AI
Jina AI
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Recorded Future
Recorded Future
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Secure Thoughts
TaoSecurity Blog
TaoSecurity Blog
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
IT之家
IT之家
Forbes - Security
Forbes - Security
The Hacker News
The Hacker News
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
Y
Y Combinator Blog

博客园 - 使名扬

vs.net 2005 C# WinForm GroupBOX 的BUG?尝试读取或写入受保护的内存。这通常指示其他内存已损坏 windows2003双网卡安装openmeetings成功后登录页空白 access top order by的逻辑问题 解决vs2005中文乱码问题 登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。 - 使名扬 - 博客园 gridview中如何添加对某行删除时的确认提示框 DataList父子嵌套 VS2008 母版页嵌套母版页,下级母版页不执行Page_Load解决方法 - 使名扬 - 博客园 360会导致MSDN "无法显示该网页" - 使名扬 - 博客园 asp.net下使用FCKeditor 2.6.6 in ,exists ,join sql server 2000中了解各表的记录数 oracle树形sql查询 谨慎使用windows 2003 64位版 带日期,时间和闰年验证的正则式 关于vs.net 2003向vs.net 2005迁移后,注册事件丢失,"并不包含...的定义" 的解决方法 - 使名扬 走进非洲,发现全错了-关于sqlserver2000下全球化网站生僻语种sql查询的解决方案 MSDN上关于sqlserver 万能分页原理实现的一个致命错误 BUGReport:datagrid带模板列绑定空数据集出错的问题
Asp.net 2.0 Webpart 数据库的迁移
使名扬 · 2007-02-06 · via 博客园 - 使名扬

作者:童振华  (转载请注时作者)

       Webpartasp.net 2.0中一项非常出色的功能,但是非常遗憾的是,默认是使用sql express 2005作为后台数据库。而且很多初学者在本机写完程序迁移到服务器上以后才如梦初醒,原来还要后台数据库的,甚至WROX出的《Professional ASP.NET 2.0》在讲webpart这节时都不曾提及后台数据库的事,真是让人失望之极(起码我没看到)。而目前主流的网站都是用MS SQLServer 2000或是Access作为数据库,如何才能把Webpart的数据库从SQL Express 2005迁移到SQLServer 2000Access呢?

迁移到SQLServer 2000

       微软提供了一个数据库配置程序,可以方便的在SQLServer2000SQLServer2005上进行webpart的数据库配置

       1.首先运行SQLServer

       2.然后运行C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe 会出现一个图形化的操作界面,根据提示便可自动生成一个名为aspnetdb的库。

       3.打开vs.net 2005,新建一个网站,往页面上拖一个webpartmanager,运行一下,出错。因为你还没有配web.config呀,而且vs.net2005vs.net2003有所不同,默认是没有web.config文件的,需要我们自己增加,(当然你也可以直接修改C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG下默认的web.config,但是我不推荐)

       4.在新加的web.config中把  <connectionStrings/>一行修改成如下

  <connectionStrings>

    <remove name="LocalSqlServer" />

    <add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=aspnetdb;Persist Security Info=True;User ID=sa;Password="

        providerName="System.Data.SqlClient" />

  </connectionStrings>

完成后的web.config

<?xml version="1.0" encoding="utf-8"?>

<!--

    注意: 除了手动编辑此文件以外,您还可以使用

    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的

     “网站”->Asp.Net 配置”选项。

    设置和注释的完整列表在

    machine.config.comments 中,该文件通常位于

    \Windows\Microsoft.Net\Framework\v2.x\Config

-->

<configuration>

    <appSettings/>

    <connectionStrings/>

    <system.web>

        <!--

            设置 compilation debug="true" 将调试符号插入

            已编译的页面中。但由于这会

            影响性能,因此只在开发过程中将此值

            设置为 true

        -->

        <compilation debug="false" />

        <!--

            通过 <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>

        -->

    </system.web>

</configuration>

迁移到Access

   webpart的数据库迁移到sqlserver是一件非常方便的事,但是对于很多小型网站来说,access才是最佳选择。但是要将数据库迁移到Access却是一件非常的复杂的事情, 而且网上也没有查到这方面现成的中文资料,之前在微软英文asp.net新闻组发了个贴子也没人回答,有些英文资料也是语焉不详,不成系统。

  下面我来说一下详细的过程。

   首先你需要一个accessProvider以及相对应的数据库。之前我曾经从网上找了一个accessprovider,并尝试把SQLServer版的表导出成Access,结果发现这条路是行不通的,因为不匹配。

       目前在英文google里能找到两个accessProvide

       一个是AccessPersonalizationProvider,下载地址是

http://www.kowitz.net/files/AccessPersonalizationProvider.zip

命名空间为MarkItUp.SingleUserBlog.Web.WebParts.AccessProviders  虽然在源代码注释里也写着copyright是微软的,但是下载时没有对应的数据库。

       另外一个是微软官方网站上的以前Beta1时出的 SampleAccessProviders,解压后自带一个access数据库,而且还有web.config的样例。下载地址是

http://msdn.microsoft.com/vstudio/eula.aspx?id=96713a8e-b8d4-4d6e-bb8f-027e6c8e15d8

我用的是后者。

下载后,名字是SampleAccessProviders.vsi,解压缩后可以在C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Templates\ProjectTemplates\Visual Web Developer\Starter Kits\ASP.NET Access Providers  找到。

你可以用vs.net2005打开Access.csproj编译出dll,名字为SampleAccessProviders.dll,然后把ASPNetDB.mdb复制到App_Data目录,然后在自己的网站中引用SampleAccessProviders.dll,并参考那个web.config修改自己的配置文件。

关于其他数据库

由于SampleAccessProviders是开放源代码的,所以参照着自己扩展Provider。目前网上可以找到XmlFilePersonalizationProvider。对于Oracle,mysql等数据库可以自己写扩展Provider,但是目前我们已有了access这种数据库独立的方式,所以可以通过混用来实现更为方便。

后记:来到埃塞俄比亚当志愿者已有近两个月了,工作一点挑战也没有,又打战了,在这种网络只有56K的鸟地方,真是一种痛苦。百无聊赖之际,想想以前在国内一直没有时间空下来好好研究一下vs.net2005,(主要是更喜欢vs.net 2003的小巧),特写此文,结果写完了,一直上了不博客园,直到今天才打开,真是郁闷呀。