on 2014 Apr 14 10:42 PM
Hi everybody...
I need connect django with sql anywhere 11 database, i follow the instructions on the page "SQL Anywhere Django Driver" from github.
I created the database with this command
C:\\>dbinit -z UCA django.db
--> (database created successful)
I started the Database Server with command
C:\\>dbsrv11 django.db
--> (database server started successful)
I created my project with
C:\\>django-admin.py startproject mysite
(at this point all it's ok)
I edit the file mysite/mysite/settings.py
and I changed the DATABASES setting with this
DATABASES = { 'default': { 'ENGINE': 'sqlany_django', 'NAME': 'django', 'USER': 'dba', 'PASSWORD': 'sql', 'OPTIONS': {'eng': '2638'}, 'HOST': 'localhost', 'PORT': '2638', } }
The problem is, when I want sync database using this command
c:/mysite>python manage.py syncdb
I get
"Database server not found" error.
Please help me, I don't know how resolve this problem
Even I test the connection with a file (
test_sqlany.py
) this file contents following code
import sqlanydb conn = sqlanydb.connect(uid='dba', pwd='sql', eng='django', dbn='django') curs = conn.cursor() curs.execute("select 'Hello, world!'") print "SQL Anywhere says: %s" % curs.fetchone() curs.close() conn.close()
I, get get the expected output:
c:\\>python test_sqlany.py SQL Anywhere says: Hello, world!
I have an environment for test with this caracteristics
- O.S.: Windows XP DB Engine:
- SQL Anywhere 11 with EBF 3069
- Python 2.7
- Django 1.6.1
- Setuptools installed
- PIP installed
- sqlanydb installed
- sqlany-django installed
Here is the complete text about this error
Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\__init__.py", line 399, in execute_from_command_line utility.execute() File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\__init__.py", line 392, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\base.py", line 242, in run_from_argv self.execute(*args, **options.__dict__) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\base.py", line 285, in execute output = self.handle(*args, **options) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\base.py", line 415, in handle return self.handle_noargs(**options) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\commands\\syncdb.py" , line 57, in handle_noargs cursor = connection.cursor() File "C:\\Python27\\lib\\site-packages\\django\\db\\backends\\__init__.py", line 157, in cursor cursor = self.make_debug_cursor(self._cursor()) File "C:\\Python27\\lib\\site-packages\\sqlany_django\\base.py", line 476, in _curs or self.connection = Database.connect(**kwargs) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 459, in connect return Connection(args, kwargs) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 508, in __init__ self.handleerror(*error) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 518, in handleerror eh(self, None, errorclass, errorvalue) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 340, in standardErrorHa ndler raise errorclass(errorvalue) sqlanydb.OperationalError: Database server not found
Request clarification before answering.
The problem is this line:
'OPTIONS': {'eng': '2638'},
The '2638' should be the name of your server, which judging by your test_sqlany.py file should be "django". Replace it with:
'OPTIONS': {'eng': 'django'},
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, Graeme Perrow thanks for the answer.
I, replaced
'OPTIONS': {'eng': '2638'},
with
DATABASES = { 'default': { 'ENGINE': 'sqlany_django', 'NAME': 'django', 'USER': 'dba', 'PASSWORD': 'sql', 'OPTIONS': {'eng': 'django'}, 'HOST': 'localhost', 'PORT': '2638', } }
but another error raised
django.db.utils.OperationalError: Syntax error near ',' on line 1
I, check this thousands of times and I, can't see the error
Here is the complete text about this error
D:\\mysite>python manage.py syncdb Creating tables ... Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\__init__.py", line 399, in execute_from_command_line utility.execute() File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\__init__.py", line 392, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\base.py", line 242, in run_from_argv self.execute(*args, **options.__dict__) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\base.py", line 285, in execute output = self.handle(*args, **options) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\base.py", line 415, in handle return self.handle_noargs(**options) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\commands\\syncdb.py" , line 112, in handle_noargs emit_post_sync_signal(created_models, verbosity, interactive, db) File "C:\\Python27\\lib\\site-packages\\django\\core\\management\\sql.py", line 216, in emit_post_sync_signal interactive=interactive, db=db) File "C:\\Python27\\lib\\site-packages\\django\\dispatch\\dispatcher.py", line 185, in send response = receiver(signal=self, sender=sender, **named) File "C:\\Python27\\lib\\site-packages\\django\\contrib\\auth\\management\\__init__.py ", line 101, in create_permissions auth_app.Permission.objects.using(db).bulk_create(perms) File "C:\\Python27\\lib\\site-packages\\django\\db\\models\\query.py", line 356, in b ulk_create self._batched_insert(objs_without_pk, fields, batch_size) File "C:\\Python27\\lib\\site-packages\\django\\db\\models\\query.py", line 835, in _ batched_insert using=self.db) File "C:\\Python27\\lib\\site-packages\\django\\db\\models\\manager.py", line 232, in _insert return insert_query(self.model, objs, fields, **kwargs) File "C:\\Python27\\lib\\site-packages\\django\\db\\models\\query.py", line 1511, in insert_query return query.get_compiler(using=using).execute_sql(return_id) File "C:\\Python27\\lib\\site-packages\\django\\db\\models\\sql\\compiler.py", line 89 8, in execute_sql cursor.execute(sql, params) File "C:\\Python27\\lib\\site-packages\\django\\db\\backends\\util.py", line 69, in e xecute return super(CursorDebugWrapper, self).execute(sql, params) File "C:\\Python27\\lib\\site-packages\\django\\db\\backends\\util.py", line 53, in e xecute return self.cursor.execute(sql, params) File "C:\\Python27\\lib\\site-packages\\django\\db\\utils.py", line 99, in __exit__ six.reraise(dj_exc_type, dj_exc_value, traceback) File "C:\\Python27\\lib\\site-packages\\django\\db\\backends\\util.py", line 53, in e xecute return self.cursor.execute(sql, params) File "C:\\Python27\\lib\\site-packages\\sqlany_django\\base.py", line 87, in execut e ret = self.cursor.execute(trace(query), trace(args)) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 712, in execute self.executemany(operation, [parameters]) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 683, in executemany bind_count = self.api.sqlany_num_params(self.stmt) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 617, in __stmt_get self.handleerror(*self.parent.error()) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 611, in handleerror eh(self.parent, self, errorclass, errorvalue) File "C:\\Python27\\lib\\site-packages\\sqlanydb.py", line 340, in standardErrorHa ndler raise errorclass(errorvalue) django.db.utils.OperationalError: Syntax error near ',' on line 1
The fact that you're getting an error from opening a cursor means that the connection succeeded. The syntax error is in your SQL query.
User | Count |
---|---|
41 | |
15 | |
10 | |
9 | |
6 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.