How do I access my external MYSQL database from Asterisk dialplan? - asterisk

I am trying to access my external database from an Asterisk dialplan but I get the error "No application MySQL for extension mycontextname".
So I run the command “module show like mysql” and it shows 0 module. I read on a blog that I have to add mysql addons such as app_addon_sql_mysql.so module, but the once I found isn't solving the situation either. I still get 0 module after the "module show like mysql" command.
I am using Asterisk 13.10.0 and please which mysql module will work well for my Asterisk version, also where can I get it?

Mysql is outdated AND addtional application. You should not use it. If you HAVE, you need compile it(do make menuconfig before make).
Recommended way is use of func_odbc or REALTIME

Personally, I don't like doing database stuff in the Asterisk dialplan. I find it ugly, difficult to write (quoting), difficult to maintain, and fragile.
I prefer to write applications (logic and database access) in an AGI. You have 'full' access to the database and you 'hide' all the details in a nice black box where your code can be checked by a real compiler (or script interpreter).

Related

Is there any Logviewer application available to see 4GL logs? -PROGRESS 4GL

For me its quite hard to view the 4GL log file. Is there any log viewer application available?
The logfiles are plain text, any text viewer will do.
Which is best depends on your OS and personal preferences.
On linux I'd use less, or vi for "small" logfiles.
On windows I use baretail regularly, but I also use Vs Code, Editpad, ..., notepad
The 4GL Log files should really not be that hard to read?
As a possible built in option: in OpenEdge Management there's a log viewer.
On a newly set up server with classic appserver/adminserver it generally runs on http://<server-ip>:9090/ with credentials admin/admin (to be changed at first login).
This might be different with PAS (I'm not working with that, at least not yet).
We have our databases hosted in AWS so I send all my logs (DB, Webspeed, PASOE, AdminServer, etc etc etc) to Cloudwatch with a relevant retention policy. It's not hard to build a Date/Time parsing formula to calculate when the log entry happens. That way I can give people access to the logfiles easily without them needing access to all the different servers. It's a very neat solution. And we can send non-Progress logs over too, so Apache etc. And grepping them is dead easy too.

Reading Locked SQLite DB In to Memory

I'm working on a project that has some pretty specific requirements, and am running in to a problem with one of them. We have a locked SQLite database. We can't unlock this database, but need to read it (but not write to it), and we cannot create any new files on the filesystem that contain the data from this database. What was suggested is to read the file in to RAM, and then access it from there. I've been trying to find out a way to do this, but this project is on Windows, so it's not going as smoothly as it might otherwise.
What I've been trying to do is read the file in to a bash variable, and then pass that variable to sqlite as the database. This hasn't been working particularly well.
I installed win-bash, but when I do "sqlite3.exe <(cat <<<"$database")" I get a 'syntax error near unexpected token `<('" I checked, and win-bash looks like it's based on an older version of bash. I tried zsh, but it's saying "doesn't look like your system supports FIFOs.". I installed cygwin, which wouldn't really be a good solution anyway (once I figure out how to do this, I need to pass it off to our Qt developers so that they can roll it in to a Qt application) but I was just trying to do a 'proof of concept' - that didn't work either. Sqlite opened just fine, but when i ran ".tables", it said "Error: unable to open database "/dev/fd/63": unable to open database file" So, it looks like I'm barking up the wrong tree, and need to think of some other way to do this.
I guess my questions are, first, is it possible to read a sqlite database in a variable as I was attempting, or am I going down an entirely incorrect path there? Second - if it can't be done that way, is there some way I'm overlooking that might make this possible?
Thanks!

Configure Fluent-bit file output plugin set file rollover

I've a Fluent-bit running as docker instance which uses tail input plugin to read docker log files and currently I've configured output plugin to use Elasticsearch.
However in prod since Elasticsearch resides on another zone, don't want to consume bandwidth I don't want to use Elasticsearch, instead want to use file output plugin. But in file plugin there is no documentation explaining the file rollover configuration.
At the moment there is no such feature in Fluent Bit File output plugin. Please log the enhancement request on GitHub:
https://github.com/fluent/fluent-bit/issues/new?template=feature_request.md
Since this feature makes a lot of sense it can be implemented shortly,
regards,
Eduardo
Fluent Bit Maintainer

How to create an access database to be used by runtime

How do you save a database in Access 2010 so that the database can be connected to and the queries run from a machine that does not have Access installed? I have read that I can use runtime but can't find how to actually make it so that it can be used in runtime. Is this what the Package Solution Wizard is for or is just a certain file extension? If I do that, will the user have to install it? On my network I am not sure if that is allowed. Can you just email it as a file that doesn't need to be installed? I am really struggling to find much info.
You don't need to make any special preparations in your database for launching under runtime. Launching Microsoft Access with your database is similar to the way you would do so with the regular version of Access. Simply launch the msaccess.exe followed by the name of your database.
You can read more about this for instance here.
Access runtime should be installed on PC first

The realm in the security database got changed accidently in MarkLogic. Now cannot Access admin interfaces

I was restoring a database in MarkLogic and accidently I changed the security database also. Now I am not able to login into the admin interfaces using my previous admin username and password. I went through the documentation and came to know that if realm is changed in security database this can happen. But no solution was provided. I have tried uninstalling and reinstalling MarkLogic but as this does not change the security database, I still could not login. I am sure that there must be a way to reset my login credentials but I couldn't find it. Can someone suggest what should I do??
How about:
Stop MarkLogic
Move all data
Install a clean copy of MarkLogic
Start MarkLogic
If you have a backup of the Security database, then restore that first. If not, recreate all security settings manually. After that, continue with:
Recreate earlier databases with Forest names identical to how they were
Stop MarkLogic
Move back all Forest data except those of Security
Start MarkLogic
You could try fiddling a bit with the XML configs like assignments.xml, but that is not highly recommended, and do make copies before you do so..
HTH!

Resources