Tango DB, Error reason = DB_DeviceNotDefined

Hi,

I am facing while 6 - RUNNING step from given README

after executing first step mentioned in 6 - RUNNING following error is thrown.

$ $TANGO_INSTALL_DIR/bin/DataBaseds 2 -ORBendPoint giop:tcp::10000

main(): arrived
main(): export DataBase as named servant (name=database)
Received a CORBA::Exception
Tango exception
Severity = ERROR
Error reason = DB_DeviceNotDefined
Desc : device dserver/databaseds/2 not defined in the database !
Origin : DataBase::ExportDevice()

Exiting


Installation Details:
OS: Fedora 19.
MYSQL: mysqladmin Ver 8.42 Distrib 5.6.22, for Linux on x86_64
TANGO: Version 8.1.2
GCC: gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
JAVA: java version “1.8.0_40”
DOXYGEN: Doxygen version 1.8.3.1
LYX: LyX 2.1.2

I’ve also attached configure and compile logs.

Let me know how to get over this problem.

Cheers.

I’ve also attached configuration log files.

Hello Ashwini,

By looking at the output of your “make all” command, it seems that you already have a Tango database on your system.
Here are the lines which makes me think that:

/bin/sh ../../cppserver/database/create_db.sh < ../../cppserver/database/create_db.sql
The tango database is already defined on localhost
Please run
/usr/bin/mysql -utango -ptango -hlocalhost tango < ./update_db.sql
manually to force a db update

I don’t know if you want to keep your Tango database as it is but it seems that it is in a strange state because you do not have the dserver/databaseds/2 device defined in it.

Therefore, my advice is to remove your Tango database (if possible obviously) and re-run your “make all”

Good luck

Emmanuel

Hi Emmanuel,

I am facing the same issue.

On ‘make install’ execution,I got this error

/bin/sh ../../cppserver/database/create_db.sh < ../../cppserver/database/create_db.sql
Warning: Using a password on the command line interface can be insecure.
ERROR 1366 (HY000) at line 25: Incorrect integer value: ‘nada’ for column ‘exported’ at row 1


Moreover coz it does not drop already existing db -it simply moves ahead on subsequent ‘make clean && make all && make install’ stating -

The tango database is already defined on localhost
Please run
/usr/bin/mysql -utango -ptango -hlocalhost tango < ./update_db.sql manually to force a db update

This is leaving incorrect db there as it is.

I tried dropping db and so on again.Nothing helped.

Thanks

Sudeep.

[quote=“Manu”]Hello Ashwini,

By looking at the output of your “make all” command, it seems that you already have a Tango database on your system.
Here are the lines which makes me think that:

/bin/sh ../../cppserver/database/create_db.sh < ../../cppserver/database/create_db.sql
The tango database is already defined on localhost
Please run
/usr/bin/mysql -utango -ptango -hlocalhost tango < ./update_db.sql
manually to force a db update

I don’t know if you want to keep your Tango database as it is but it seems that it is in a strange state because you do not have the dserver/databaseds/2 device defined in it.

Therefore, my advice is to remove your Tango database (if possible obviously) and re-run your “make all”

Good luck

Emmanuel[/quote]

Hi Manu,

Performed the steps as mentioned.
Same error persists…

I’ve disabled firewall.
disabled proxy.


can you suggest alternatives…

Hi,

can you send us a dump of the mysql tango database device table? You can do this with the following command:

mysqldump -utango -ptango tango device > tango_device.sql

I have included the output of my test installation to this post. It seems strange that your installation complains that the device is not defined. I wonder if it is not a network issue rather than a database issue. What version of Linux are you running?

[quote=“Andy”]Hi,

can you send us a dump of the mysql tango database device table? You can do this with the following command:

mysqldump -utango -ptango tango device > tango_device.sql

I have included the output of my test installation to this post. It seems strange that your installation complains that the device is not defined. I wonder if it is not a network issue rather than a database issue. What version of Linux are you running?[/quote]

Installation Details:
OS: Fedora 19 (rpm based)
MYSQL: mysqladmin Ver 8.42 Distrib 5.6.22, for Linux on x86_64
TANGO: Version 8.1.2
GCC: gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
JAVA: java version “1.8.0_40”
DOXYGEN: Doxygen version 1.8.3.1
LYX: LyX 2.1.2

refer attachment of my tango db dump.

OK it is obvious there is NOTHING in your device table. I wonder why this is so? It explains why you are getting the error device not defined. What is the output from running the database create script mentioned by Manu previously? There should be an error when it tries to define the device in the database. Could you run the database create script again and send the output. Do a drop of the tango database before so you are sure to start from a clean slate.

I am running Ubuntu 10.10 and mysql Ver 14.14 Distrib 5.5.41, for debian-linux-gnu (x86_64) using readline 6.3 + tango 8.1.2

Hi again,

I found the error in a previous post. It is due to mysql not accepting ‘nada’ as an integer. I have patched the create_db.sql script to insert 0 instead of nada for the two integer fields. The patched version is attached to this post. Please try it and let me know if it runs without error.

Hi Andy,

It works.

I used “INSERT” query from your dump directly over mysql prompt.

Else I am using centOS 7 64-bit

Thanks

Sudeep

[quote=“Andy”]Hi again,

I found the error in a previous post. It is due to mysql not accepting ‘nada’ as an integer. I have patched the create_db.sql script to insert 0 instead of nada for the two integer fields. The patched version is attached to this post. Please try it and let me know if it runs without error.[/quote]

when I am doing …/../create_db.sh < yourPathchFile.sql
ERROR 1366 (HY000) at line 25: Incorrect integer value: ‘nada’ for the column ‘exported’ at row 1

Attached downloaded filed (just in-case)

Hello all,

A similar problem has been already reported and registered in the our bug database as Bug 661.
I have made some more investigation using my computer.
I had MySQL 5.5.41 and I had no problem to run the create_db script.
Because I noticed that you guys were using MySQL 5.6, I have upgraded MySQL to 5.6.19 but still no problem with the
create_db script.

In Bug 661, the reporter was using MariaDb instead of MySQL. Is it your case?

Anyway, the script will be modified for next release because it is not 100 % correct.

Cheers

Emmanuel

Hi Manu and Andy,

SQL Script/Patch was still failing for ‘device’ table’s few columns i.e started,stopped and pid.

To fix this - updated create_db.sql ‘datetime’ data type values to ‘now()’ and ‘int’ values to ‘0’.
Now its working! by working I mean atleast “DataBaseds 2 -ORBendPoint giop:tcp::10000” executed without complain.

I am using 5.6.15 MySQL Community Server (GPL) ,not MariaDb over CentOS 7 and fedora 19.
Attached is the ‘create_db.sql’ file used for the build.

Thanks

Sudeep