0
총 파이썬 newb 여기에.MySQL에 연결하려고 할 때 "TypeError : 정수가 필요합니다."
this page에서 자습서를 진행 중입니다. 하지만 내 코드를 실행할 때 콘솔에서 다음 오류가 발생합니다.
Traceback (most recent call last):
File "/Users/tejenshrestha/Documents/ProjectAccess/access/trunk/analysis/src/json_xml/Database.py", line 37, in <module>
con = MySQLdb.connect(socket, dbhost, dbuser, dbpass, dbname);
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
TypeError: an integer is required
몇 가지 해결책을 찾으려면 unix_socket 경로를 포함해야한다는 것을 알았습니다.
또한 XAMPP을 사용하고 있으며 사용중인 소켓 경로는 XAMPP의 my.cnf 파일에 지정된 경로입니다. 나는 MySQL을 실행하고 포트는 3306입니다.
이 놈을 도와주세요.
파이썬 코드 :
import MySQLdb
import sys
con = None
dbhost = "localhost"
port = "3306"
dbuser = "root"
dbpass = "password"
dbname = "name"
socket = "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock"
try:
con = MySQLdb.connect(socket, dbhost, dbuser, dbpass, dbname);
cur = con.cursor()
cur.execute("SELECT VERSION()")
data = cur.fetchone()
print "Database version : %s " % data
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
finally:
if con:
con.close()
내가 노력을 그 이전에 GOT 및 오류 같은 : '인자 3은 String 타입이어야합니다. 소켓과 포트 (번호가되는 포트)가 마지막 매개 변수가되고 여전히 동일한 오류가 발생하도록 매개 변수의 순서를 재 배열했습니다. 인수를 올바르게 주문했는지 확신 할 수 없습니다. –
흠. 레이블을 지정하지 않으면 인수의 순서를 변경해서는 안되기 때문에 함수 호출은'MysqlDB.connect (port = 3306, ...)'처럼 보일 것이다. 따라서 함수의 인수에 적절한 이름을 붙이십시오. – BenDundee
고마워! 라벨을 붙이면 효과가있었습니다. –