How to set PDQPRIORITY and FET_BUF_SIZE - informix

I am very new to IBM Informix.
Trying to fetch some data from Informix on Linux machine from Windows system.
I need to set FET_BUF_SIZE and PDQPRIORITY environment variables.
Over net suggestions are to use setnet32 application that comes with IBM Informix client SDK. Have tried it, but there is no option for PDQPRIORITY and for FET_BUF_SIZE my server people told me to set 200,000 but it not taking only 5 chars.
Any suggestions how to set these environment variables (FET_BUF_SIZE=200000 and PDQPRIORITY to 2) at client side, would be really helpful.
Thanks in advance

Related

Neo4J online backup — any way to address the security flaw?

If I am to make an online backup using the neo4j-admin backup tool remotely, as is advised by Neo4J, I have to open a public IP and the backup port on my Neo4J application.
However, I don't see neo4j-admin asking for any login credentials, basically making it possible for anybody to access the server and copy all the data while the port is opened.
There is no setting inside the neo4j.conf that would only accept backup requests from a certain address.
So what does it mean? When the online backups are done remotely, as is advised, the database may be vulnerable to somebody else just copying all the data.
I didn't find anything in Neo4J documentation that addresses this flaw (only a warning) and it looks like in more than 7 years that this feature has been available as a part of the commercial enterprise version there has not been any solution offered for this.
What do you do to protect the DB then? At the moment the only solution seems to not back it up remotely, but that causes additional stress on the server and is not the best solution. Plus the online backup is not stable when done locally for large DBs. Another solution could be to only open the port remotely via some kind of API to the server, but that may still be exploited if somebody figures out the time frame when the backup is made.
The documentation states that ne04j-admin must be invoked as the neo4j user. That is the user that owns the neo4j executables and the databases. So the security is handled by the OS login and the file permissions should be set to prevent unathorised access to the neo4j directories/files including the neo4j-admin executable.

Informix replication

We are developing our own Informix Replication handler. Informix version is 12.10. We are using Enterprise Replication, Primary-Target One-to-many option. ie... all database changes originate at the primary
database and are replicated to the target databases. We configured replication setup and replication is working fine.
Now if we write into master server, it will replicate in to slaves. The problem is we are also able to write into slaves. Is there any way to make the slaves read only? ie.. We should only be able to write into master server. Is it possible?
Please note that we are not considering Update-Anywhere Replication System, since we are using Timeseries data and there are many restrictions in informix for Conflict resolution rules for timeseries data. So please dont suggest Update-Anywhere Replication.
You need to change the mode of the participants (slaves) to readonly.
Use this command:
cdr modify server --mode readonly <server_group>
Refer to the Informix Enterprise Replication documentation here

Amazon Windows Services for VPS, please advise

I need the VPS services for hosting my ASP.NET project.
However, it's not just asp.net hosting, I also need SQL Server, RabbitMq and either my running conrole app or my windows service.
So I read the suggestions to use Amazon Web Services as they provide first year for free.
However when I registered I found that I don't have a clue of where I am:
I don't see the option of creating a virtual machine with Windows
I don't see the option of setting up SQL Server on such the machine
and so on.
So I was wondering whether I'm in the right place?
Please advise if AWS can provide me with what I need or I came to the wrong place?
AWS can provide all that you listed, but you'll need to do some learning on your end.
Basically you create an EC2 instance, and then use RDP to remote into it, and you can install software and configure it to your hearts content - just like it was any other physical server.
If you want to use SQL Server, you'll have the choice of installing it directly on the instance using your own license, or using their 'hosted' version of SQL Server call RDS. You'll need to read about it and decide which option is better for your project - there is no single right way.
Lastly, I will point out that although the 'free-tier' is nice, except for a really small application (i.e. small db on a low traffic website), you may find out the 'free-tier' does not quite give you all the power you need to run a busy application. I would not base your decision on wether or not you should use AWS on how much 'free' stuff you can get. The free-tier is nice for learning, but plan on spending some money for a truly robust solution.

How to build a server database for my application

I'm new to server side programming with a background in iOS. So I want to know where to start.
Here I tried to list some specific questions:
Can I just create a local database and practice on that?
Do the local databases and databases on remote server work the same?
If no, how can I choose which server I can use? (I went through the webpages of AWS cloud service and found they are really overwhelming.)
Arslan's answer is great, but I would like to add to it a bit. You mentioned a Chatroom, so in that case you should look into socket programming. The reason why I bring this up is, while no one has outright said it, you shouldn't create a chat server by read / writing to a database. It's much better to just keep it in memory and log to the database on an as need basis.
AWS is a fantastic solution and they have a lot of different solutions for different situations. You should look at using EC2, which is their server program. They have a free tier of it so that you can use and / or you can test locally. I suggest testing locally then pushing up to a free tier every now and then to make sure everything is running properly.
Also I would look into using CloudKit for data base storage. If you don't need instantaneous communication, it's far easier to use Apple's built in system rather than setup a server and manage it.
links: CloudKit, AWS EC2 Free Tier
As it happens I'm actually working on a ChatRoom Server program, here's the link to github. It is written in C++ so I recommend using it as a reference unless you want to write your own socket in C++.
Can I just create a local database and practice on that?
Sure. You can install a server locally on your machine ( there are plenty of available ) and through 'localhost:3000' or 'localhost' you can access the root of your server depending upon what you are using at server end. You can then configure your server to respond to a particular message.
Do the local databases and databases on remote server work the same?
Of course, the work they way is almost same. The difference you have stated yourself: remote.
If no, how can I choose which server I can use? (I went through the webpages of AWS cloud service and found they are really overwhelming.)
I would suggest you to start from the local server. But first you have to choose language: PHP, Ruby, Python - it depends upon you and your personal preferences. You can also use something like Parse.com. Parse.com is free up to 30 requests/second, and you can use Objective-C to send and retrieve data from the server with a few very easy steps. And of course, parse.com handles singing up and logging in a user for you , all you have to do is to write a code of few lines in your iOS app.
Download Apple's free Server.app from the Appstore, it wraps one of the best database management systems: PostgreSQL. Start it with this Terminal command:
sudo serveradmin start postgres
More info on these pages:
http://support.apple.com/kb/HT5583
http://www.postgresql.org

Can I temporarily run ADS on both the old server and a new replacement server?

I am running advantage database server version 8.10.0.38 on a windows 2000 server. I want to replace the server with a new windows 2008 R2 server and migrate the ADS and application to the new server. I need to test the application on the new server for a week before removing the license from the old server. Can I install the license on the new server and run both the old and new servers with the one license for a week?
I can't speak to the legality of doing that (even though the intent of what your are doing certainly seems reasonable). From a practical standpoint, though, it may not work. Advantage Database Server attempts to detect if other servers are running with the same serial number, so it is quite possible that the second instance of Advantage will not start up.
There is an additional potential problem as well. v8.x is not officially supported on Win 2008 R2, so there are potential problems with that (I have not tried it, so I do not know for sure if it will work or not). It would be necessary to move to v10.x to have support for Win 2008 R2.

Resources