博客 - 存档:六月, 2008

SQL2005创建连接出错的解决办法

2008-06-18 上午 - 纯属扯淡 -

  System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 – 无法打开到 SQL Server 的连接)

  相信有朋友可能遇到这个问题,下面即解决办法:

  在Visual Studio 2005连接SQL Server 2000数据库时,连接字符串会比较简单,一般远程连接的时候,只需像下面这样配置Web.config文件:

<appSettings>
<add key=”ConnectionString” value=”server=(local);

database=MyDb;uid=sa;pwd=sa;Max pool size=1000;Connect 
Timeout=20″/>
</appSettings>

  然后在代码中通过调用下面的语句就可以实现数据库的连接了。

SqlConnection conn = new SqlConnection

(ConfigurationSettings.AppSettings["ConnectionString"]);

  在这样的条件下我们只需把身份验证设置成为SQL Server和Windows验证就可以了。

  而在SQL Server 2005数据库中,假如直接这样操作就会报下面的错误:

  在建立与服务器的连接时出错。在连接到 sql server 2005 时,在默认的设置下 sql server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 – 无法打开到 sql server 的连接) 。

  我们就需要单独对SQL server 2005进行配置,步骤如下:

  1.配置SQL Server外围应用服务器,开启SQL2005远程连接功能:

  操作方式如下,点击“配置工具”->“SQL Server外围应用配置器”,然后在打开的窗口中选择“服务和连接的外围应用配置器”->然后选择Database Engine节点下的 “远程连接”,选择“本地连接和远程连接”,同时选择“同时使用TCP/IP和named pipes”,确定后然后需要重新启动数据库服务就可以了。

  2.把登陆设置改为SQL server 和 windows 身份验证模式,具体设置如下:

  打开SQL server Management Studio管理器,点击服务器上面右键然后查看属性,在安全性选项里面对服务身份验证选择“SQL server 和 windows 身份验证模式”。

  3.修改SQL server sa的密码,体设置如下:

  在SQL server Management Studio管理器中,展开服务器上的“安全性”->登陆名->在sa帐号上点右键属性,这样在“常规”的选择页中更改sa登陆帐号的密码。注意SQL Server2005中,不允许密码设置简单,否则会通不过。然后在选择页的“状态”的登录修改为启用。

  4.数据库连接字符串:

  数据库连接字符串有很多种,如:

Data server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sapassSql

Data server=服务器名\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql

Data server=localhost\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql

Data server=.;Initial Catalog=Northwind;User ID=sa;Password= sapassSql

Data server=服务器名;Initial Catalog=Northwind;User ID=sa;Password= sapassSql

  具体的选择是和SQL Server2005的版本有关系,如果是SQL server 2005 Express版本,则必须要有“\SQLEXPRESS”,因此如果字符串是定义为一个变量的时候应该写成Server=.\SQLEXPRESS。

  5.在.net2.0 Framework中注册SQL Server数据库:

  找到.net2.0 Framework的安装路径,一般安装在 “C:\Windows\Microsoft.NET\Framework\v2.0.50727”目录下,然后在DOS中在指定目录下运行“ASPNET_REGSQL”指令,就会出现ASP.NET sql Server安装向导,点击“下一步”,然后选择“为应用程序服务配置SQL server”,然后直接点击下一步,就会完成SQL Server注册界面。我们就会看到NorthWind数据库下面多了几张表。

  6.设置web.config文件:

  在应用程序中的web.config文件添加如下数据库连接的配置:

<connectionStrings>

<add name=”ConnectionSqlServer”
connectionString=”Data Source=       
.\SQLEXPRESS;Initial Catalog=Northwind;  
User ID=sa;Password= sapassSql” providerName=”System.Data.SqlClient”/>
</connectionStrings>

  至此,我们就可以在Visual Studio 2005中调用SQL Server的数据连接了。

  最后,我们来测试数据连接,首先打开Visual Studio 2005,在视图的“服务器资源管理器”来添加SQL server 2005的连接,通过输入服务器名称和对应的SQL Server身份验证的sa用户名密码后,选取对应的数据库,最后点击“测试连接”,即可成功连接到数据库了。

  本人前段时间到手一本书《精通Ajax》里面的代码是用asp.net+sql2005,所以这几天一直在配置服务器环境,由于我一直都是做前端,完全不懂asp.net,弄起来很吃力,在网上搜集来的方法,的确是好办法,希望能有此需要的人带来小小的帮助,不要在这一步浪费太多的时间。

No Comments »

电信,给了个“错误:678”

2008-06-13 下午 - 生活点滴 -

  这两天很郁闷啊!

  电脑老是掉线,这两天恰巧又要在网上下载许多东西,几分钟就掉一次。更难过的是,到后来居然都连不上了,说什么“错误:678”一开始还以为是自己的网卡设备什么的有问题,后来再网上一查,可能是电信的问题,今天回去要是再这样我可就要拨打“10000”号了!没办法啊。

No Comments »

今天收到了当当网寄来的新书了

2008-06-10 下午 - 生活点滴 -

  苦苦的等了一个星期之久,原本以为上周5就可以收到的,结果搞到周二才拿到手。我苦命的日子又要开始了。决心先大致的照着书种的内容做一遍,再从头至尾仔仔细细读一遍。就应该消化得差不多了。呵呵,不过时间是需要的,给我3个月吧。

No Comments »

CSS控制垂直水平居中(固定容器高度)

2008-06-3 下午 - html/css/xml/xsl -

  其实也没什么,主要还是利用hack修复IE6以及更低版本的不支持。

  这个例子需要固定容器的高度(已知外框高度),但中间内容可以任意高度。这里以图片来做内容。以下是方法一:

  看代码:

  1. <div class=”div>
  2.     <p><img src=”zxz.jpg></p>
  3. </div>
  4. .div { display:table-cell; vertical-align:middle; border:1px solid #000; width:100px; height:200px; _position:relative;}
  5. .div p { _position:absolute; _top:50%; width:100%; text-align:center;}
  6. .div p img { _position:relative; _top:-50%;}

  能兼容FF,IE6,Opera,还是非常不错的,其实要实现此效果,方法有多种。下面再说一种更科学的方法:

  方法二:

  1. <div class=”box>
  2.     <img src=”img src=”zxz.jpg/>
  3. </div>
  4. .box { display: table-cell; ertical-align:middle; text-align:center; width:100px; *display: block; *font-size: 175px;/*约为高度的0.873,00*0.873 约为175*/ *font-family:Arial;/*为防非utf-8编码引起的hack失效*/ width:200px; height:200px; border: 1px solid #eee;}
  5. .box img { /*设置图片垂直居中*/ vertical-align:middle;}

  可以减少一个没意义的标签,是不是科学很多哦!

No Comments »