关于python和php数据库连接问题_MySQL
python
在几天的对完结项目的修正中,涉及到一些对python和php数据库的连接问题的处理。
在其中有关于系统方面的,也有库相关的,在这里做一个小小的总结。
1.python数据库连接
mysql:import MySQLdb
mssql:import pymssql
这里小提一下,pyodbc也是可以连接的,至于有没有pdo的库,偶也不知道。
2.php的数据库连接
mysql:
连接方法海了去了,pdo,odbc,mysql默认连接法子(不需要加扩展,一般用这个)。
mssql:
在这里要分在win下和在linux下了,在win下很是方便:
可以sqlsrv,这个是微软官方提供的连接方式,在大多数dll啥失效后还能用,如:
http://www.php.net/manual/zh/book.sqlsrv.php
鄙人在codeigniter论坛找到一个利用方法,如:
https://github.com/EllisLab/CodeIgniter/tree/develop/system/database/drivers/sqlsrv
下载两个文件sqlsrv_driver.php,sqlsrv_result.php即可。
然后在入口文件包含核心文件之前包含上面两个文件。
配置方法:
http://stackoverflow.com/questions/19460025/how-do-i-connect-codeigniter-to-a-sql-server
PS:这个也是php标准拓展。
在win下也需要处理一系列php高版本后对mssql不再支持的问题,话说在php6后只支持pdo连接了。
在此之前可以用pdo和odbc,或者服务器开启了mssql模块的话,可以直接mssql_connect,但仍要在php.ini里改下extension配置即可。
在linux下:
不想提了,蛋都碎了。
在linux下做mssql连接,很重要的一点就是freetds,这玩意儿linux连接mssql必备。mssql是从sybase衍生出来的,有一些哥们做了一些sybase的linux下的连接库,这些连接库同时也能支持mssql,
我用的时候是0.9吧(0.8也可),在这时配置的版本需要弄成8.0,具体的我就不再详述,多查阅资料大家会恍然的。
安装完freetds后(可以下载安装包安装,也可以yum、apt-get源安装),
在这里提供一个下载链接:http://blog.csdn.net/kunp/article/details/387013
然后就是选择mssql_connect还是pdo还是odbc,暂时找到这几种方法,令人纠结心痛的是这几种方法似乎都要重新编译php,将环境啥配置啥的重新编译进去,由于鄙人找了半天确实没找到他说的php源代码安装目录下ext目录的mssql目录,然后去configure,所以这条路pass掉,其中需要phpize编译的步奏,也pass掉,鄙人perl环境出过问题,执行老出相关错误(明白怎么回事的大牛欢迎吐槽,偶是昏了)。所以意思是php扩展的连接库文件**.so等压根不能生成,也谈不上去php.ini里去改啥扩展配置路径,蛋碎一地。
怎么办呢?基友告诉我个法子,让我不装扩展,直接用php-mssql,鄙人centos6,yum了一下,坑比的没有安装包,直接被丢了一脸的链接:
https://gist.github.com/shf/2052432
通过这个方法我装上了php-mssql(需要代理),然后yum安装了php-odbc,然后,然后木有连上mssql,不知道咋回事,这个问题留着解决,猜测应该是还要做其他配置,完全是基友跟我瞎摸索有木有。。
3.关于mssql开启远程
大家知道如果要让外服务器访问,sqlserver必须开启远程,开启1433,在这里稍稍说下。
http://www.360doc.com/content/13/0525/23/19147_288191810.shtml
这篇文章介绍的比较全,但是偶的1433端口一直没开,telnet xx.xx.xx.xx 1433不上。
怎么办,如:
http://hi.baidu.com/daheshuiman/item/6dad61982dd267895814615d
把1433端口配上启用、活动。
记住sql-server browser必须打开。
在网上有说sqlserver2005 版本0.8以下的需要打补丁才开的了,也就说至少要打上sp3以上的补丁。
PS:在这里提下,我自己用时sql-server browser没有打开,按钮灰色,所以需要要把所有属性勾上活动,所有勾上是,这点特别注意。
开启了后一般就能看的1433能telnet上了。外连时,据网上说,可以直接用ip,还有说需要加sqlserver实例名,偶表示不明觉厉。
附上另两篇参考文章:
http://www.bitsCN.com/database/201304/204867.html
http://wenwen.sogou.com/z/q410734670.htm
最后,偶因为在linux环境下,无法连接mssql,只好退而求其次,连接mysql,但是原来的数据却是放在mssql里的,所以需要将数据转移:
https://github.com/Nick011/MSSQL-to-MySQL/blob/master/convert_db.py
在这里看到,在两个数据库都在开始开启了cursor后,在insert了才commit(),但是注意看最后,每一次循环都要commit一次,
说明连接时只连接一次的。好吧,这个好像弱爆了。。
最后,上面讲的很粗不是本人意愿啊!!!完全是因为实验时老爷机崩溃了,资料引用全部丢失,以上大部分凭记忆拼接,所以缺漏之处,
还请不吝赐教,感谢!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

Golang在性能和可扩展性方面优于Python。1)Golang的编译型特性和高效并发模型使其在高并发场景下表现出色。2)Python作为解释型语言,执行速度较慢,但通过工具如Cython可优化性能。

Golang和Python各有优势:Golang适合高性能和并发编程,Python适用于数据科学和Web开发。 Golang以其并发模型和高效性能着称,Python则以简洁语法和丰富库生态系统着称。

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

Python在开发效率上优于C ,但C 在执行性能上更高。1.Python的简洁语法和丰富库提高开发效率。2.C 的编译型特性和硬件控制提升执行性能。选择时需根据项目需求权衡开发速度与执行效率。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。
