各位路过的大神。麻烦您帮小弟看看这个问题,谢谢。
问题:
django版本1.8 数据库:sqlserver2012
就往数据库插入数据,打开django服务,第一条是可以成功插入的,插入第二条的时候就报错了,实在不明白是什么问题所致,事务已加。
两次传的数据类型,是一致的。
报错的是返回值不是json;把Error转换成json
大神,我try出来的错误,这个怎么解决啊?
@WrYcF: 这个跟代码没有关系,和配置数据库链接,或者服务器有关系
@WrYcF:
DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'dbname', 'HOST': 'dsn_entry', 'PORT': 'port', 'USER': '', 'PASSWORD': 'pass', 'OPTIONS': { 'driver': 'FreeTDS', 'dsn': 'dsn_entry', 'host_is_server': True } } } 如果是windows服务器 'driver': 'FreeTDS', 换成 'driver': 'SQL Native Client',
@抽象ID: 大神,又换错误了,
('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
@WrYcF: 'NAME': 'dbname', 这个是你的数据库名称;
driver 这个有问题;
你参照一下这地方的配置:
https://www.cnblogs.com/pythonkids/p/7943376.html
@抽象ID:
大神,这些我都配置了,也是砍的这几个博客配的,linux上freetds和odbc也都配了,
@抽象ID: 我在windows环境下开发,基本的增删改查都是可以的,我把代码放在linux下,就出现种种问题,然后我就配置freetds+odbc+dsn,然后还是增加数据的时候回出现问题,第一次增加数据可以,第二次就失败,。。。
@WrYcF:
DATABASES = { 'default': { 'ENGINE': "django_pyodbc", 'HOST': "127.0.0.1,1433", 'USER': "mssql_user", 'PASSWORD': "mssql_password", 'NAME': "database_name", 'OPTIONS': { 'host_is_server': True }, } }
@WrYcF: 如果加dsn:
'OPTIONS': { 'host_is_server': True, 'dsn': 'sql14-dev.example.com', 'autocommit': True, 'unicode_results': True, 'extra_params': 'tds_version=7.2' },
@抽象ID: 加上这些之后,django runserver都起不来了,,,
@抽象ID: 大神这就是请求那个函数返回的状态, 那个错误是我try之后捕捉上的,
换了系统, windowsserver