데이터 베이스 MySQL 튜토리얼 关于python和php数据库连接问题_MySQL

关于python和php数据库连接问题_MySQL

Jun 01, 2016 pm 01:13 PM
PHP 데이터베이스 python 데이터베이스 연결

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一次,
说明连接时只连接一次的。好吧,这个好像弱爆了。。

最后,上面讲的很粗不是本人意愿啊!!!完全是因为实验时老爷机崩溃了,资料引用全部丢失,以上大部分凭记忆拼接,所以缺漏之处,
还请不吝赐教,感谢!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? 램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? Apr 01, 2025 pm 02:48 PM

많은 웹 사이트 개발자는 램프 아키텍처에서 Node.js 또는 Python 서비스를 통합하는 문제에 직면 해 있습니다. 기존 램프 (Linux Apache MySQL PHP) 아키텍처 웹 사이트 요구 사항 ...

SCAPY 크롤러를 사용할 때 파이프 라인 영구 스토리지 파일을 작성할 수없는 이유는 무엇입니까? SCAPY 크롤러를 사용할 때 파이프 라인 영구 스토리지 파일을 작성할 수없는 이유는 무엇입니까? Apr 01, 2025 pm 04:03 PM

SCAPY 크롤러를 사용할 때 파이프 라인 영구 스토리지 파일을 작성할 수없는 이유는 무엇입니까? 토론 Data Crawler에 Scapy Crawler를 사용하는 법을 배울 때 종종 ...

Python Cross-Platform 데스크탑 응용 프로그램 개발 : 어떤 GUI 라이브러리가 가장 적합합니까? Python Cross-Platform 데스크탑 응용 프로그램 개발 : 어떤 GUI 라이브러리가 가장 적합합니까? Apr 01, 2025 pm 05:24 PM

Python 크로스 플랫폼 데스크톱 응용 프로그램 개발 라이브러리 선택 많은 Python 개발자가 Windows 및 Linux 시스템 모두에서 실행할 수있는 데스크탑 응용 프로그램을 개발하고자합니다 ...

Python Process Pool이 동시 TCP 요청을 처리하고 클라이언트가 막히게하는 이유는 무엇입니까? Python Process Pool이 동시 TCP 요청을 처리하고 클라이언트가 막히게하는 이유는 무엇입니까? Apr 01, 2025 pm 04:09 PM

Python Process Pool은 클라이언트가 갇히게하는 동시 TCP 요청을 처리합니다. 네트워크 프로그래밍에 Python을 사용하는 경우 동시 TCP 요청을 효율적으로 처리하는 것이 중요합니다. ...

Python functools.partial 객체가 내부적으로 캡슐화 한 원래 함수를 보는 방법? Python functools.partial 객체가 내부적으로 캡슐화 한 원래 함수를 보는 방법? Apr 01, 2025 pm 04:15 PM

functools.partial in Python의 파이썬 funcTools.partial 객체의 시청 방법을 깊이 탐구하십시오 ...

파이썬 모래시 그래프 그리기 : 가변적 인 정의되지 않은 오류를 피하는 방법? 파이썬 모래시 그래프 그리기 : 가변적 인 정의되지 않은 오류를 피하는 방법? Apr 01, 2025 pm 06:27 PM

Python : 모래 시계 그래픽 도면 및 입력 검증을 시작 하기이 기사는 모래 시계 그래픽 드로잉 프로그램에서 Python 초보자가 발생하는 변수 정의 문제를 해결합니다. 암호...

정확한 흰색 원형 영역을 찾기 위해 파이썬에서 고해상도 이미지의 처리를 최적화하는 방법은 무엇입니까? 정확한 흰색 원형 영역을 찾기 위해 파이썬에서 고해상도 이미지의 처리를 최적화하는 방법은 무엇입니까? Apr 01, 2025 pm 06:12 PM

흰색 영역을 찾기 위해 파이썬에서 고해상도 이미지를 처리하는 방법은 무엇입니까? 9000x7000 픽셀의 고해상도 사진 처리, 두 가지 그림을 정확하게 찾는 방법 ...

파이썬에서 대형 제품 데이터 세트를 효율적으로 계산하고 정렬하는 방법은 무엇입니까? 파이썬에서 대형 제품 데이터 세트를 효율적으로 계산하고 정렬하는 방법은 무엇입니까? Apr 01, 2025 pm 08:03 PM

데이터 변환 및 통계 : 대규모 데이터 세트의 효율적인 처리이 기사는 제품 정보가 포함 된 데이터 목록을 다른 사람으로 변환하는 방법을 자세히 소개합니다 ...

See all articles