Using SQL override in ODI 12C with source data server different then target - oracle-data-integrator

I am trying to load data into OBIEE db Oracle database using a custom source query that needs to be executed on the CRM DB in ODI 12c. I am using a default LKM as the source and target are on on different servers. It requires a LKM else the mapping is failing on source connectivity.
I can see the C$ tables creating which are not relevant as I only need a direct load from source query to target. Can you suggest me relevant LKM or ways to avoid using LKM?

As answer to your question, you can create your own LKM, at let it blank .. so no command will be executed. In this mode you can "avoid" LKM's. But, for this, you need a IKM that will "make" your query ..
I don't know exactly if there is a IKM that will work without a LKM (predefined) but, also, you can create your own IKM, easily. If you need help, please tell me

Related

Informatica: wrong odbc.ini file referred by Workflow mappings

I am trying to execute a workflow mapping from within Informatica Workflow. The source being MSSQL Server and target Oracle DB. The mapping alike every other mapping seems to be referring to the system's /etc/odbc.ini file rather than the one sitting in $INFA_HOME/ODBC7.1/odbc.ini.
I've tried checking everything but can't seem to understand how this linking is getting established. I did many hit & trials to confirm which odbc.ini was getting referred and it was always the one sitting under /etc/. The bash_profile's variable ODBCINI is also pointing towards the INFA_HOME location.
Can someone shed some light on how or why the system's odbc.ini is getting referred. Any idea on how is it linked?
We need to set two odbc related parameters in unix/linux users bash profile.
INFA_HOME=/opt/infa
ODBCINI= $INFA_HOME/ODBC7.1/odbc.ini
ODBCINST=$INFA_HOME/ODBC7.1/odbcinst.ini
Now, i feel like, your unix/linux user is not able to reach this location or they arent getting exported properly.
Login using the unix/linux user thats running informatica.
Then use more $ODBCINI to see if it has read permission.
Do same for ODBCINST.
Use ssgodbc tool to check connectivity to your mssql server DB.

Attempting to Distribute an Access Application with SQL Server Backend

I am attempting to use a Packaged Solution for my Access 2010 application that has its backend linked to SQL Server. At the moment, I'm using the .accdb file as the frontend, and I would like to distribute my application to some other Windows computers, but the Packaged Solution does not work. I had the package include Access Runtime, so their version of the frontend is running on Runtime and not full Access. However, once the application makes a request to the backend, the application does nothing, as I am not even prompted for the SQL Password as per usual with the full version. I've read on about including a .dsn file in the package can secure the SQL connection (see here), but going through steps of other tutorials to create .dsn files hasn't led to any results. Would anyone know how to correctly generate the .dsn file or if I've done something else wrong at this point?
(And yes, I understanding using Access 2010 in the year 2019 is almost a joke at this point, but I'm doing this for testing purposes. I plan to completely remake the frontend in Angular in the future.)
One other unrelated note... would it be a better idea to have the frontend hosted as a .html file like through the "Publish to Access Services" process? I did read that Access Services was discontinued last year, so would that not be possible?
Edit: This is not a duplicate of "DSN Less Connection (MS Access to SQL2016)" because A) I want to utilize a DSN Connection, not DSN-less and B) I am not using connection strings in my code to hook up with SQL.
You should be able to just create FILE dsn, link your tables, and then distribute the compiled accDE to each desktop.
However, what SQL odbc source provider did you use? If you use the SQL server ODBC provider, then that is by default installed on each computer.
However, if you linked using Native 11 (or later), then that driver is NOT installed on each workstation by default. So, I HIGH recommend you create a FILE dsn (not a user or system DSN), and link the table using that. (Access will create DSN-less links for you)
And you should NOT be seeing a logon prompt with your application. This suggests you forgot or missed the save password option.
So, I would re-link your tables, creating a new FILE DSN. And if you using the linked table manager, then make sure you check the prompt for new location to force creating of a NEW DSN. If you just re-fresh, then you DO NOT get a chance to click on the save password option during the linking process.
So, what odbc driver are you using? The native 11 or later are better, but they are not installed by default on each workstation. However, CAUTION is required here, since the older sql driver does NOT support the newer datetime2 formats. If you used these newer sql column types, they will be returned as string data types in Access and create a mess of issues.
So, first, I would re-link using a FILE dsn.
Make sure you check the save password during the re-link.
You then compile your accDB into an accDE, and then distribute that. You don’t really need to use the package wizard, since once each workstation has the runtime installed, then a simple copy of the accDE to each person’s computer will thus work fine. There is NO special connection between your accDE and the package wizard. Once the runtime is installed, then any and all mdb, accDB, and your accDE can simply be clicked on to launch + run. So for testing, you can skip the package wizard, and just copy the accDE to the target machine, click on it, and see if it works.
Edit
The prompt and check box during this process is this:
So you have to check that box to save the password. Note that you ONLY get this dialog WHEN you create a new FILE dsn.

Users on my network cant open the Sql server linked tables from their MS Access Form

Hi there hopefully this makes sense.
I have split the database into backend and Frontend.
In the frontend i also have added some linked tables from a SQL Database which are on the network. The DNS files are in the same folder as the front. Now when ive copied across the frontend to the end users desktop when they try to open the table via a form they get the error: "ODBC Call failed" anyone know why that might be?
1 of the end users is using the free version of ms access(2016 runtime) and other has full MS Access but both get the same error.
As it wasnt happening during the development stage on my computer and my collegues. I am a bit lost on how to fix the issue other than convert the linked tables to local tables and do a weekly update of them from the SQL server via my computer where the links work.
Seeing as a normal backend table that is linked to the front works fine. Just would like it to directly call the information from the SQl Server.
Make sure on your development workstation you link the table using a FILE DSN. When you link, Access then converts the links to what we call DSN-less.
The above means then you don’t have to copy or setup or use ANY kind of DSN on each workstation. So do NOT use a “system” DSN – that uses settings in the registry that you have to setup on each workstation.
The next issue to be aware of is which SQL driver you use to link the tables. If you use the “standard” SQL Driver when linking, then you can be SURE those drivers are installed by default on each workstation.
If you use “Native 11” (or later), then you have to ensure that the Native 11 (or later) drivers are installed on each workstation for this to work. The native drivers are better choice, but they are not by default installed on each workstation.
So I suggest you delete the links, or use the linked table manager to re-link the tables – just make sure you use a FILE dsn – since once the tables are linked, then Access ignores and does not use the DSN anymore – you don’t need it, and you could even delete the DSN and you linked tables will still work.

How to connect to an Informix database on a server from Genero Studio?

We want to migrate written 4gl programs (with their .per, form files) to Genero Studio so it can be with Windows Forms. How could we create a connection so the .4gl files can retrieve the needed databases? I just want to connect to it, I don't want to copy paste the whole database to my PC. Is there any tutorial step by step? The Genero Documentation is giant and not very clear. Maybe it is if your starting from nothing, but we already have written programs that we just want to make more visual with Windows Forms.
In your Genero Studio configuration, there should be a list of environment sets listed. One of them should be for your backend. Make sure it is configured properly. Then make sure it is checked for your preferred configuration.
There are different ways to connect to a DB, make sure you review the following doc:
http://www.4js.com/online_documentation/fjs-fgl-manual-html/User/Connections.html
From there, I would write a simple BDL program to test:
main
define mystatus smallint
database mydb # this is where you can adapt based on your preferred connection method
end main
Make sure that in your environment set, Debug is check since this will provide SQL driver debug info (FGLSQLDEBUG=9)
From there, check your output panel and see what needs to be configured
When the connection is working, you can extract a schema (needed at compile time) or maybe you already have a schema (.sch file) already created that you simply want to import

db2 database creation

I installed db2 client in my system for personal use. I am not able to understand from where to create the database so that i can create tables on that db and play around with sql queries as of now.
This is totally related to my personal use and learning purpose.
Please inform how to create a dummy database and play around with it with db2 client?
Regards,
Are you on Windows? Are you using DB2 Express-C? I'm assuming you are, since you say this is for personal work.
After you have the DB2 binaries installed, you should have been prompted with the "DB2 First Steps" application, where you could have the application go through a GUI to create the database for you. If you missed it, you should be able to find it in your start menu with Start -> Programs -> IBM DB2 -> DB2COPY1 (Default) -> Set-up Tools -> First Steps.
If you prefer the command line, you can use the following:
First, determine if your installation created a default instance (on Windows, this will be called DB2) by using the db2ilist command. In the DB2 Command Window, if you're not on the instance you want to create a database in, you can switch with the following command:
set db2instance=DB2
Be sure to not include spaces around the equal sign.
Now, in order to create a database in the current instance, you use this command:
db2 create database mydatbase
For further reading, IBM has produced a Getting Started ebook, and I would highly recommend you check it out!
The DB2 client is just that - a client only. It does not include the database engine.
To create a database you have to install the server. The server includes the client portions.

Resources