php,java连接sqlserver数据库

最近要搞个sqlserver的课程设计,妈蛋真是蛋疼,主要的是c,c++,java都被老师上坏了,只会些hellWord程序并没有什么用!

还好自学了php这个世上最好的语言(有没有?);本以为用php与sqlserver通讯会很容易,没想到搞得这么蛋疼。

这里不得不吐槽sqlserverz这个世上最(zha)的数据库,装个完整版要一两个小时,卸载的话也要等一两个小时,更狠的是

强行占用c盘好几个GB 真是个奇葩的数据库。。。。。。


好了不说了,还是乖乖做课程设计吧。

  1. php连接sqlserver

    这里需要下载驱动dll文件,下面是微软官方给的驱动

    //驱动下载  https://www.microsoft.com/en-us/download/details.aspx?id=20098

    //驱动介绍 https://msdn.microsoft.com/en-us/library/cc296170.aspx

    //sqlsrv API使用介绍: https://msdn.microsoft.com/zh-cn/library/cc296152(v=sql.90).aspx

    不过我郁闷的是管网给的驱动我都试遍了都成功装上(我用php 5.6.7 线程安全版 64bit ,非集成软件)

    后来百度了n遍后才找到了一个外国佬弄的,终于装上了(驱动包可以在下文连接下载)

php,java连接sqlserver数据库_第1张图片

php驱动安装:

    下载驱动,吧适合的php版本的sqlserverq驱动dll文件放到php安装目录下的ext文件夹下

php,java连接sqlserver数据库_第2张图片

然后是在php.ini文件里增加配置

extension=php_pdo_sqlsrv_56_ts.dll

extension=php_sqlsrv_56_ts.dll

php,java连接sqlserver数据库_第3张图片

重启apache

在服务器根目录建立phpinfo.php文件,文件内容

<?php
phpinfo();

保存文件

在浏览器地址栏输入:localhost/phpino.php浏览

如果出现如图情况就说明装上了驱动了:

php,java连接sqlserver数据库_第4张图片

然后就是建立一个demo.php去连接sqlserver

//1.连接sqlserver 过程操作 需要php_sqlsrv_**_ts.dll(线程安全) or php_sqlsrv_**_nts.dll(非线程安全)
	/*$serverName = "localhost";
	$uid ="sa";
	$pwd ="密码";
	$connectionInfo = array( "UID"=>$uid,
	                         "PWD"=>$pwd,
	                         "Database"=>"数据库名");//可以为空,如果不为空 则数据库一定要是存在的
	$conn = sqlsrv_connect( $serverName,$connectionInfo);//sqlsrv_connect是新出的连接函数 支持ssqlserver2005以上版本,
	if( $conn === false )
	{
	     echo "连接失败!</br>";
	     print_r( sqlsrv_errors());//返回数据编码GBK UTF-8乱码
	}else{
		echo "<span style='color:#08AD2C'>连接成功</span><br>";
	}
	sqlsrv_close( $conn);//关闭数据库
	exit;*/
//------------------------------------------------------------------------------
	//2.连接sqlserver 面向对象操作
	//建立sql连接 pdo 需要php_pdo_sqlsrv_**_ts.dll(线程安全) or php_pdo_sqlsrv_**_nts.dll(非线程安全)驱动
	 try {
			$DSN = "sqlsrv:Server=localhost,1433;Database=phptestdb";
			$conn = new PDO($DSN,"sa","密码");
	 } catch (PDOException $e) {
		  echo '连接数据库出错:' . $e->getMessage();
	 }
	 if($conn) echo "连接成功";

然后执行这个demo.php

如果没什么意外的话,是可以连接成功的。

如果不成功的话自己看提示再做相应的解决吧,

不过在这之前你得先装有sqlserver数据库在电脑上,并且sqlserver开启了tcp/ip ,

php,java连接sqlserver数据库_第5张图片

sqlserver的默认端口是1433如果你不知道他通不通可以用telnet这个工具看看

在cmd里输入命令 :telnet localhost 1433

如果不通的话会显示连接失败的,不通就说明你sqlserver的配置问题了

我是这样配置的(sqlserver 2008 R2):

php,java连接sqlserver数据库_第6张图片

不知道是怎么会回事,我之前装的是sqlserver2005 R2完整版 ,硬是连接都连不上,

后来果断装了sqlserver2008 R2(这个是很蛋疼的,主要的是卸载和安装很麻烦) 

php既然连上了!但是 SQL server manager studio既然登不上了!一阵折腾配置后还是连接不上,

php,java连接sqlserver数据库_第7张图片

哎,折腾了这么久既然这样子了,妈蛋,sqlserver真是一个奇葩的数据库!

最后果断放弃SQL server manager studio这个工具,自己写个php工具去操作数据库,可以 定义 增 删 改 查

php,java连接sqlserver数据库_第8张图片

如果你也是折腾了一两天也没结果,那我只能说呵呵了,我现在也接近崩溃的边缘了,发誓课程设计做完后不再用这个渣渣数据库了


2.java连接sqlsesrver

因为中途用php连接sqlserver无望,用了java连接了sqlserver,顺便也说下过程

java连接sqlserver也是要有驱动程序的,不过java用的驱动是jar文件(相应的驱动程序和例子在文章末尾有下载)

需要在项目里增加lib

php,java连接sqlserver数据库_第9张图片

demo代码

package sqltest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class sqltest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Connection c = null;
		Statement stmt = null;
		try{
			//注册驱动
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		    //创建数据库连接(数据库一定要是存在 可以为空)
		    c = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=数据库名","sa","密码");
		    
		}
		catch( Exception e){
		      System.err.println( e.getClass().getName() + ": " + e.getMessage() );
		      System.exit(0);
	    }
		 System.out.println("Opened database successfully");
	}

}

如果连接成功或出现:

Opened database successfully

应为我的java学得太渣,这里就不多说了,如果你要用java去操作sqlserver,可以自己去查看相应API的用法



我试过的java,php驱动,和相应的例子可以从这里下载:http://pan.baidu.com/s/1dDo4P13#path=%252F








你可能感兴趣的:(php,java连接sqlserver数据库)