1. SQL Server 2005 Express Edition
SQLEXPR_CHS.EXE
适用于64位系统
SQLEXPR32_CHS.EXE 适用于32位系统
2. Microsoft SQL Server Management Studio Express (SSMSE)
SQLServer2005_SSMSEE.msi
适用于32位系统 适用于64位系统
SQLServer2005_SSMSEE_x64.msi
SSMSE按默认配置安装即可。比较简单,下面就不讲了。 3.
wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-x64.exe
apache + php + mysql集成软件,安装以后就可以使用了,而无需什么配置(只需要配一下网站根目录)。 4.
ZendStudio
非必须。这是一个PHP的IDE,在eclipse的基础开发的。
2. 环境
Win7旗舰版
3. 安装SQL Server 2005 Express Edition主要步骤
首先运行SQLEXPR_CHS.EXE。下图是系统配置检查结果
显示了一些警告信息,但无关紧要,除非你用到了ASP.NET。
进入功能选择菜单后,将【连接组件】选中(主要用于命令行访问数据库服务器),可以点击【浏览】改变数据库安装位置。
之后是设置数据库服务器实例名:选择【命名实例】,可以输入实例名(此实例名就是安装完成之后SQLServer服务器的名称(会转为全大写形式)),或使用它给的实例名。如果选择【默认实例】:那么实例名将是MSSQLSERVER。 注:【实例名】是用于区分同一台机器上安装的各个不同配置的SQLServer服务器的。SQLServer可以是同一个版或不同版。
在设置服务帐户时:我选择的是【使用内置系统帐户:Local system】
点击【下一步】之后进行身份验证模式。选择【Windows身份验证模式】(此处主要是为了通过ODBC连接数据库时不使用密码)。当然如果你需要更高的安全性也可以选择另外一个,并输入密码。
之后的步骤就比较简单了,按下面的图操作就可以了。
4. 配置SQL Server 2005 Express
找到安装好的SQLServer2005,选择SQL Server 外围应用配置器。
在出现的界面点击【服务和连接的外围应用配置器】
之后会出现下图所示的界面。当此界面中你就可以看到之后建立的所有【数据库服务器实例】,并可以对其进行配置。(下图是最新的图,其它的图还是用的以前的,所以别的图中没有SQLNEWINSTANCE这个服务器)。 选中你要使用的【数据库服务器】(此处我选的是SQLEXPRESS),然后点击其【远程连接】→【本地连接和远程连接】,选择【同时使用TCP/IP和named pipes】(这么做是为了使用ODBC连接数据库服务器)→(重启服务)点击【服务】→【停止】→【启动】→OK这就基本配置完了。
这时候你用【SQL Server配置管理器】就可以去查看服务状态了。要保证SQLServer(SQLEXPRESS)处于运行状态。
如果有端口冲突之类的问题,可以点击【SQLEXPRESS的协议】→【TCP/IP】进行配置。配置方法参见:http://blog.163.com/china0359@yeah/blog/static/121719436201235545362/
下面就可以利用你安装的Microsoft SQL Server Management Studio Express (SSMSE)来连接刚刚建好的数据库服务器【SQLEXPRESS】,如果有多个服务器实例,则可以点击下拉菜单来选择(如果一个服务器都没有,则说明你的之前的配置有问题。)。
点击【连接】,之后如果连接成功就会出现下面所示的界面。到此为SQL SERVER 2005就配置完成了。√
5. 配置ODBC+系统DSN数据源
下面来讲解创建【系统DSN】数据源并绑定【数据库】的方法。
首先,在利用Microsoft SQL Server Management Studio Express (SSMSE)新建一个数据库exp(名称随意)。
之后找到【ODBC数据源管理器】(【开始】→【控制面板】→【管理工具】→【数据源(ODBC)】),转到【系统DSN】中,点击【添加】。
注:选择【系统DSN】才可以让别的用户来访问该数据源;如果选择【用户DSN】,则只有当前用户才可以使用该数据源。
选择【SQL Native Client】驱动程序→【完成】。
设置数据源名称:【DBSTestSQLServer】(这是你之后用PHP的odbc函数来连接时使用的DSN名称),点击【服务器】下拉框(这个操作会耗点时间)→一会之后在出现的条目中选择你要连接的【数据库服务器】,这里我用的是最后一个【SQLEXPRESS】→【下一步】。
按如下方式选择→【下一步】。
勾选【更改默认的数据为】→点击下拉框,选择已经建好的数据库【exp】(前面建的。根据你建的数据库名来选择)→【下一步】→之后的步骤就保持默认设置就可以了。
设置完成之后会出现下面这个。点击【测试数据源】
如果出现了下面的结果,那么恭喜你!数据源配置成功了!
现在就可以在系统DSN中看到刚刚建好的数据源了。
6. 在PHP中测试数据源及ODBC查插删改操作
运行WampServer(用于构建Apache+PHP的环境)。利用Zend Studio编辑测试页面。
6.1. Apache配置:
定位到WampServer安装目录,转到bin\\apache\\apache2.2.22\\conf\\目录,打开httpd.conf。 找到如下位置并进行相应修改:
#端口号,不般用这个默认的就可以了。 ServerName localhost:80
#这个是网站根目录,根据你的实际情况配置。当在浏览器中输入localhost的时候就是访问的这个文件夹。
DocumentRoot \"E:/programming/practice/web/php/\"
Options FollowSymLinks AllowOverride None Order deny,allow Deny from all
#设置访问权限。
6.2. 编码问题
SQL Server中的中文编码是gbk,所以php文件的编码也使用gbk(ANSI),输出的网页也要指定编码为gbk或gb2312。如果其中一个不一样,那么中文就会出现乱码。
6.3. 测试结果:
附:PHP测试代码,,复制之后保存为db_test.php文件,以ANSI编码保存。
function deleteAll($conn, $table) {
$sql = 'DELETE FROM '.$table.' WHERE 1=1'; odbc_exec($conn, $sql); }
function showAll($conn, $table) { $sql = 'SELECT id, bID, bName FROM '.$table; $rs = odbc_do($conn, $sql); print '
'.odbc_field_name($rs, 1).' | '.odbc_field_name($rs, 2).' | '.odbc_field_name($rs, 3).' |
'.odbc_result($rs, 'id').' | '; print ''.odbc_result($rs, 'bID').' | '; print ''.odbc_result($rs, 'bName').' | '; print '
function insertTestData($conn) { static $i = 0; for($j = 0; $j < 10; $j++) { $insertSql = 'INSERT INTO book (bID, bName) VALUES (\\'ISBN 7-5325-2480-'.$i.'\\',\\'测试'.$i++.'\\')'; odbc_exec($conn, $insertSql); } }
function createTable($conn) { $tableRs = odbc_tables($conn, null, null, 'book', 'TABLE'); if(odbc_fetch_row($tableRs) ) { return 'table already exists.'; } $createSql = ('CREATE TABLE book'.
'('. 'id INT IDENTITY(1, 1) PRIMARY KEY,'. 'bID VARCHAR(30) NOT NULL,'. 'bName NVARCHAR(30) NOT NULL,'. ')' ); odbc_do($conn, $createSql); return 'table created!'; } //
// 测试流程 //
print '
connecting db....';
$conn = odbc_connect (\"DBSTestSQLServer\" , \"\\"\SQL_CUR_USE_ODBC ) or die('fail to connect db'); /**
* 建表并显示结果 */
print createTable($conn).'
'; print \"Table is :
\";
$tableRs = odbc_tables($conn, null, null, 'book', 'TABLE'); while(odbc_fetch_row($tableRs)) { print odbc_result($tableRs, 'TABLE_NAME').'
'; } /**
* 插入测试数据 */
insertTestData($conn);
print '
* 删除数据 */
deleteAll($conn, 'book');
print '删除所有数据之后:
'; showAll($conn, 'book');
/**
* 关闭数据连接 */
odbc_close ( $conn ); ?>
因篇幅问题不能全部显示,请点此查看更多更全内容