Send dataset to a postgress database from HPPSystem - ECL - ecl

I need to send an uploaded dataset from a csv inside the ECL Watch of HPCCSystem.
I don't know where the ODBC driver is installed on the server, I downloaded a VM template that contains the HPCCSystem platform from the official site.
From the ECL IDE I create an .ecl document and when I insert the IMPORT ODBC line, it does not detect the odbc module. How can I do to be able to send the dataset information to the Postgres BD.
Thank you
I tried to insert the ODBC module but the platform does not detect it

Related

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.

Unable to select ODBC source in SSIS lookup

I am creating a package for updating a table in SQL server. The details to be updated is fetching from the MySQL database. For this I am using ODBC connection manager to connect to MySQL. But this ODBC connection manager is not getting listed in the OLE DB connection manager. I can see ODBC Source and destination in Toolbox. Similarly is there any ODBC lookup for doing this?
Lookup components only support the use of OLEDB connection managers or Cache connection managers. For your purposes, you should use the latter:
Read the MySql table using ODBC
Use the cache transform to load a .caw file.
Configure the lookup to read from the cache file.
I though of answering my own question as I got an easy solution for the same. Hopefully it will become a help to other beginners in SSIS.
Creating a Datasource for MySQL is an easy task. The whole process can be done with the steps mentioned below.
Install the MySQL connector.
Create ODBC DSN.
Create datasource using the created DSN.
Lets discuss each step in detail now.
1)Install the MySQL connector.
MySql connector is readily available for download in the MySQL web site. Download the correct one for your machine and install. It will be better if you install bot the 32 bit and 64 bit versions. When I tried using the 64 bit alone, I was getting an error regarding a platform mismatch.
2)Create ODBC DSN.
Open ODBC data source administrator. If your machine is 32 bit then open 32 bit other wise 64 bit ODBC data source administrator. Mine is 64 bit machine. It can be opened by Control Panel->Administrative Tools->ODBC DataSources. Mine is 64 bit machine. So I am opening the ODBC Data Sources(64 bit)
Go to System DSN tab. Click Add button. Below window will appear.
If the connectors are installed properly as per step 1, then they should be listed here. Select the MySQL ODBC 5.3 Unicode Driver. Click Finish. The below window will appear. Enter the credentials and Press Test button. If everything is fine, it should show a success message. Then Click on Ok Button.
Then the created DSN should be listed in the System DSN tab.
Repeat the same for User DSN also. Because in the SSDT while configuring the datasource we wont be able to select the System DSN. Also when deploying we wont be able to work with the User DSN also. Creating both in same name will save the package editing time. This is what happened in my case. I spent a lot of time investigating the reason for the package failure. Finally I got this. Please correct me if I am wrong. 🙂
3)Create datasource using the created DSN.
Add a connection manager in the SSDT by right clicking the connection managers in solution explorer and selecting New Connection Manager. Select ODBC from the options available.
Click Add. In the window that appears click New. A new window will appear.
In the data source specification select the Use user or System Data Source Name. Select the created DSN from the drop down box and press Test Connection. It should show success message.
That’s it. We created the ODBC source.
Please refer my blog for the article

Knime with database

How to add new driver into database through KNIME preferences? Generally,
File-> Preferences -> Add File/ Add Directory
The files accepted are only of *.jar or *.zip.
MY QUESTION
I have installed ODBC64 into my PC. Now I need to add that file into knime preferences and use the Driver into Database Connector node.
How to add and use the file into my Knime?
And What is meant by Database URL jdbc:mysql://host:port/database_name
Host and port?
Can anyone please briefly explain and help me out?
I'm assuming based on your database URL of jdbc:mysql:// that you are wanting to connect to a MySQL database? Based on that, then there is a thread on the KNIME forum which explains pretty much all of your question, but the process is the same for any other sort of database. The steps are as follows:
Download the jdbc driver (e.g. from https://dev.mysql.com/downloads/connector/j/ for MySQL) - NB KNIME now comes bundled with several drivers already installed - MySQL is one of those - in the Database Connector node the drivers installed are listed.
In the database URL, you need to change those parts in <> - i.e. the hostname, port number and database name. Hostname may be localhost if it is a local database. The port number you will need to find from your database administrator, or will be what you set it up to be if you are running a local database (3306 is the default for MySQL), so for a database called 'myDB' on the default port on your local machine, the url should be jdbc:mysql://localhost:3306/myDB
For some of the shipped drivers, there are also connector nodes, e.g. MySQL Connector, SQLite Connector, PostgreSQL Connector etc, which still require the server name/port and database name, but take them as individual inputs rather than requiring editing of the URL
Recent versions of KNIME are based on Java 8, which dropped support for ODBC, so you should first find an alternative driver for your database and only after you can connect to that with KNIME as described on the KNIME documentation page for DB connectors.
You have several nodes which allow you to connect to a DB (especially MySQL).
I remember there was a dedicated MySQL node for connecting with the DB.
Just remember this: you have to input the IP adress : port, then insert credentials and point to the DB you want to open by default.

Include database data when exporting an Android application

I export my application to .apk file, sign it and then install it. But when I run my app, it displays an error because there's no data in my database.
The database was created as a new one when I installed the application, so all the data were lost!
How can I include database data when exporting an Android application?
Option #1: Package the database as a raw resource or asset, and use streams to copy that database to its proper position when the app is first run.
Option #2: Package SQL statements to populate the database as a raw resource, and execute those statements in your SQLiteOpenHelper's onCreate() method.
Option #3: Put the smarts straight in your Java code to populate your database in your SQLiteOpenHelper's onCreate() method.
Option #4: Download the database on first run and copy it to its proper position.
And so on.

Resources