Oracle SQL Developer : change colour themes by connection - oracle-sqldeveloper

I wonder if there's a way to specify Oracle SQL Developer themes by connection.
I explain, we work on many environments : Dev, Qaul, Pre-Prod and Prod.
In order to be careful when executing queries, we would like to change SQL Developer themes by connection or change the Query sheet.
Thank you

Here it is, in connection properties:

Related

SSMS like tool for postgreqsl

I'm looking for a database management tool for postgresql that would have similar functions to SSMS.
I'm familiar with SQL server but postgresql is a new ground for me.
I am looking for the following features in a tool:
Creating tables, views, stored procedures, job schedule (like SQL agent job), importing data, sending automated emails.
Much appreciated your help.
Lots of options. This is going to come down to personal preference.
You can all of what you want from the command line.. but
Here is a review of some of the most common IDE's out there.
https://scalegrid.io/blog/which-is-the-best-postgresql-gui-2019-comparison/
Try Azure Data Studio it covers most of what you're looking for (e.g., Creating tables, views, SPs, ...etc.) but the SQL agent is still in preview, it has import data from files but not dacpac, and not sure if it has automated emails feature.
But you can read a full comparison between SSMS and Azure Data Studio here

Using SQL Developer with BIPublisher Oracle Cloud HCM

it's been 2 months I'm working for a new client on BI Reporting on Oracle BI Publisher within an OracleCloud CRM and HCM. to make query to OracleCloud database I have to use notepad++ and then copy/past my query in the Query textArea on BIPublisher (which is a simple text area without any syntaxe check or color), I was wondering if there are some experts who might know a way to connect SQL Developer to OracleCloud database so I can run my queries directly without copy/past on the browser.
thank you a lot
There's no direct access to the underlying Oracle Database from your SaaS subscription.
We (the SQL Developer team) are working with a few of the SaaS business owners to make SQL Developer Web available for their subscribers. This would allow you to run queries directly against your database w/o having to do the copy/paste jump you're doing today in BI Publisher.
I cannot provide guidance on when this will happen or even if your particular services will make it available.
The TL;DR answer to your question is 'No, but we are working on it'

How to optimize deployment strategy for Tableau dashboards?

We have two environments (TEST and PROD) to publish dashboards to. Data for those envs resides on the same RDBMS server, 1 schema per env. And we want to publish 1 dashboard to 2 envs, so that 1 dashboard looks at TEST schema, and the other looks at PROD schema.
That's the approach we came up with, but it's not working as expected: we can not find a way how to deploy Tableau dashboard to 2 envs (and use 2 separate schemas) without actually maintaining 2 versions of the same dashboard (one for TEST and one for PROD).
So either we chose a bad deployment strategy for Tableau, or we're doing smth wrong with it. Could anybody please share your experience on how to deploy Tableau dashboards to separate envs without having to manually edit dashboard for every env? Or what's the problem with our approach?
You didn't specify your RDBMS in the question so my answer will make a broad statement that may not necessarily apply in your specific case.
I think you've chosen a poor approach for your testing and production database environments. Normally, test and prod are on completely separate database instances and in many cases, separate servers. Having them together on the same instance or server means you are using up production hardware resources during testing, with the possibility of locking up the server because of run away queries against the non-production schema. With a single instance, it would be very easy to bring your production instance down inadvertently or maliciously without even being logged into the production schema.
Your better approach is to have two separate database instances: one for test, one for prod. The two instances could be on the same server but are isolated db instances. Both instances have the same users and same schemas. Then you can easily point your Tableau data sources to the respective instances without needing to update your workbooks or keep two copies of each workbook. For example, if you are using Oracle, keep the TNS aliases the same on both Tableau servers but alter the connection details in tnsnames to point to either the test or prod db server.
Your situation sounds like mine. I need to publish exact same report to different environments using different server/database configuration. This is what I do:
Maintain single source of truth, which is production version.
Create an utility converting report to different environments. You can also do it manually as following:
Save your workbook (Tableau file) as .twb
Open twb file with any text editor. It is xml like. Tableau creates connection and renders graphic from this information.
Text search for username, server, port ... You will see all your configuration information here.
Replace those information by target environment information.
Save and open it again using Tableau Desktop and publish.
If you have automation tool like Jenkin, you can develop one click solution for deployment using Tableau commands.

Visual Studio 2012 Group Solution need individual connection strings per developer

We have a project that is being worked on currently by 5 developers and could get more at any time. The developers are located at different places in the US. Our back end is Code First Entity Framework based on a SQL Server database.
Some of the developers have SQL Server Express and some have full blown SQL Server. We need a way to have the solution everyone works on but each developer needs to have his own connection string to the data so they can connect to their individual instances. We cant use localhost because express versions have named instances of SQLEXPRESS.
We could just change the connection string when we grab the code form Git but then every time we sync we will have conflicts to merge so that would be a pain.
Has anyone run into this?
A very simple solution would be to have everyone use SQL Server Express or SQL Server Developer Edition. You can install both side-by-side, so that should not be an issue. Especially since SQL Express is free...
Another option is to define a SQL Server Connection Alias on each client with a predefined name. Then add the alias to your .config. That way the SQL Client will resolve to the right database and you can define one static value in your .config.
The 3rd solution is to add a configsource="connectionstrings.config" and create these files on the local workspace, but don't check them in. You can add a connectionstrings.template.config and check that in to provide a starting point. These files don't need to be part of the solution.
The 4th option is to store the connectionstring in a .Settings file, set it to user and use the standard configuration API to store the connectionstring in the application settings folder of the users profile. You'll need to pass the connectionstring to the constructor of the Context class.

Synchronisation between SQL Server 2008 Express and VFP tables

I'm looking for advices and suggestions on how to synchronise data between two databases.
The first database is a SQL Server 2008 Express that run on disconnected laptops (no network or internet access). The second database (main) is a VFP 9.0 that run on a server.
When the user connect their laptop on the network, I want the synchronisation process to go through.
Other than the different database engines, I have the following items to take into account:
The tables don't necessary have the same structure
The primary keys are not the same (GUID in the SQL Server and often a combination of character fields in VFP)
Synchronisation of the tables must be done in a certain order to respect the parent-child relationships
On some insert on the SQL Server side, a new primary key must be generated and synchronised in the VFP table
A bunch of validations must be made and some feedback from the user are sometimes needed
Not all records need to be synchronised
Some records on the SQL Server need to be deleted after the syncronisation
Need to take into account deleted records from both side
Minimal modifications need to be done on the VFP database
There are probably other points I'm forgotting now, but I think you get the idea of the challenge I face. My guess right now are that I will need to build a custom synchronisation module, but I want your input before I go on in case I overlooked some options and to get some tips on how to approach this.
I looked rapidly at Microsoft Sync Framework, but with all the restrictions I have and the fact that there is no VFP client already built (AFAIK), I don't think it will be of great help.
Thanks in advance for your feedback.
Update: The laptop application is a C# WinForm application and is using SQL Server 2008 Express.
The complexity of the situation and requirements leads me to believe you need to write a Visual FoxPro application. Visual FoxPro connects to SQL Server 2008 data easily. The complexity of the code is matching the requirements and identifying the data that needs to be synched, not the syntax. Visual FoxPro strength is in the data manipulation language and the ability to connect to almost any data source (native DBFs, ODBC, ADO, and XML).
SQL Server can read VFP 9 data via the VFP 9 OLE DB driver. You could write T-SQL stored procedures to get to the VFP data. Not sure how it would recognize the laptop being connected to the network though.
Another approach is to use SQL Server XML Diffgrams. I am not an expert by any stretch of the imagination on this approach, but it would be something you can research.
Since my expertise is with Visual FoxPro I would find it way easier to go the other way though, but that is just me. You have to go with the skillset of the resources you have for the project.
VFP reads and writes SQL Server data via a connection (DSN, ConnectionString) and any technique involving SQL Passthrough (SQLConnect(), SQLExec() and SQLDisconnect()), CursorAdapters, Remote Views, or a combination of the three.
A Visual FoxPro program can also recognize Windows Events like connecting to a network. The application could be installed on each laptop and running to recognize the Windows Event. Once the event is raised the application can attempt to connect to the SQL Server database (possible it is connecting to a network without the SQL Server available or a different network).
Once connected it runs the logic to check and synchronize the databases.
Sounds like you don't have a lot of control over the application writing to the VFP 9 data on the laptop. If you do have control over the application writing to the VFP 9 database you might consider changing the app to write to a SQL Server Express instance on the laptop and then you can use SQL Server replication to manage the synchronization. Not a trivial task though and SQL Server replication, while getting better with each release, does cause hair loss in DBAs. Definitely a lot of work going this route.
Rick Schummer
Visual FoxPro MVP
I would encourage you to take another look at MS sync framework. We have a situation where we want to synchronize occasionally connected C# clients apps with our Java/Oracle backend. You can use the sync framework providers for the C# client and implement your own custom subclass of KnowledgeSyncProvider for the backend. This will get you half-way there, and show you a good pattern to apply for the rest.