I'm trying to find out if there is something like FireDac or dbExpress to connect an application written in Delphi or C++ Builder to a MapR Database. I was able to find this page that describes how to connect to various databases including Teradata, but there is no mention of MapR.If anyone has done this, I would really appreciate any pointers you might be able to give me.
FireDAC does not natively support MapR nor does dbExpress.
Your options seem to be:
Use MapR's REST Api - see REST or just google
mapr rest api
Use ODBC access. There is one available here: HiveODBC.
Related
I'm wanting to test sqlite in dart, however the only implementation that I could find is by Sam McCall on Github, however it's out of date. While I could attempt to bring it up-to-date, I'm not very familiar with Dart yet.
I also read but haven't been able to confirm that sqlite access is provided in the VM, but only for non-html programs. The quote where I read that says "There may be additional problems, because the Dart executable now includes the sqlite library, as part of NSS (Network Security Services, from Mozilla), which is used to implement secure sockets in dart:io.". As I said, I'm not sure if this is correct.
I want to use sqlite with "dart:html", and "dart.io" can't be used with "dart.html", however using it in a console application would be a start.
While dart provides indexed_db, I don't see that as a replacement for sql. Also, while database access may be considered mainly a server-side requirement, there is obviously also the need on the client (eg. when offline etc.).
There would also be the possible problem of conversion to js, but that is not a concern of mine.
Any help with this would be much-appreciated.
As Ladislav mentions, you cannot use sqlite with dart:html, because browser-based apps can only access what the browser platform provides.
WebSQL is basically Sqlite. It still exists, is well supported on mobile, but the spec is dead. It should work fine if that's what you want.
For command-line Dart, you may want to check out SqlJocky, which is MySQL drivers for Dart command-line VM. Check it out here: https://github.com/jamesots/sqljocky
Hope that helps!
I know I can use SQLlite and of course a clientdataset, but....
How do I connect to an external database over the internet in iOS using Firemonkey?
There's a blog page on EDN here, it uses a non-visual datasnap library:
http://edn.embarcadero.com/article/41729
Link to the source code: http://cc.embarcadero.com/item/28579
The example connects to a remote Interbase, server, but it should be fairly easy to rewrite it to use other databases like MySQL.
Could you give me a tip on how can implement a rest webserver using just webbroker?
I know newer versions of delphi has this REST/JSON/DATASNAP features, but i´m stuck with BDS2006.
Basically i need to interact with other application and the guys are asking me to make this webserver application and provide just five methods over the internet/vpn. Don´t need to be running inside IIS or Apache.
I´ve googled a lot but the answers always point to 2010 and up versions. All that readings lead me to use the webappdebug template make some actions and respond to GET/POST/PUT/DELETE with some JSON objects.
The problem is ... I´m not well versed with webbroker, how can i achive this?
THANKS IN ADVANCE, ANY HELP WILL BE WELLCOME.
Our full RESTful Client-Server framework is availble, including an ORM (and much more), named mORMot.
It is an Open Source project, running from Delphi 6 up to XE2 - so it will work with Delphi 2006 (I've tested it with Delphi 7 and 2007 so I do not see any reason why BDS 2006 would fail).
It is able to serve Objects and Services (just like DataSnap) using JSON, in a secured (using per URL authentication) RESTful protocol.
It is able to use any Database engine back-end, with a SQLite3 kernel. You can even use without any database layer at all (that is without SQLite3), if you need only the RESTful services and in-memory objects feature (you can persist the objects with JSON or in binary format, but you won't be able to use advanced features like cross-table search).
More than 700 pages of documentation available.
For HTTP/1.1 communication, it is not based on WebBroker (nor IIS, nor Apache), but it will use directly the high-speed http.sys kernel-mode service.
At the MSDN website it says, "Connecting to SQL Azure by using OLE DB is not supported."
There are other places on the web where folks report that it works fine for them after tweaking the server name in the connection string, such as here and here. Even SQL Server's Analysis Services uses OLE DB to connect to SQL Azure!
I develop a native/unmanaged application in Delphi that connects to SQL Server using ADO through the OLE DB provider for SQL Server. I'm considering adding SQL Azure support. It would be really helpful if I could reuse the majority of my code without not too much change. I probably wouldn't consider going this direction otherwise.
It would be helpful if Microsoft were more clear on why "OLE DB is not supported". If there are certain limitations within the use of OLE DB, what are they? Maybe I can work around them, or maybe it wouldn't affect me.
Microsoft also mentions that ODBC is supported. So could I use the "OLE DB provider to ODBC" and connect this way? Or is any combination that includes OLE DB "not supported"?
You can use it, however it has not been thoroughly tested for all cases. Essentially, it should work for most things, but there might be a few edge cases where it won't work. Until we document those cases, it remains unsupported. That being said, if you were to use and run into errors, we would love to know about it and prioritize that to be fixed.
Vote for the OleDB support for Azure here:
http://www.mygreatwindowsazureidea.com/forums/34685-sql-azure-feature-voting/suggestions/407269-ole-db-provider-for-connecting-to-sql-azure?ref=title
You can use ADO using the SQL Native Client although this information is hard to find you can read about it here http://msdn.microsoft.com/en-us/library/ms130978(SQL.110).aspx and here http://msdn.microsoft.com/en-us/library/ms131035(SQL.110).aspx.
In the connection string instead of using Provider=SQLOLEDB; we can use Provider=SQLNCLI10;. Also it is recommended to use DataTypeCompatibility=80;. So a SQL Native Client supported connection string would look like this:
"Provider=SQLNCLI10;Server=tcp:MyServerName.database.windows.net;Database=AdventureWorks2008R2;Uid=MyUserName#MyServerName;Pwd=MyPa$$w0rd;Encrypt=Yes;DataTypeCompatibility=80;"
You can also add "MARS Connection=True;" to the connection string for multiple recordsets.
Simple. I created a LINQ-TO-SQL Entity model, created a website, added a Data Service (*.svc) to this site and made sure it works by writing a simple .NET console application. The service works fine and cannot be modified.
Now I'm going to write a Delphi application (2007) for WIN32 which will have to call this data service. And while Delphi has no major problems importing a SOAP service, it can't import this service since it provides no WSDL...
So, two options. I could figure out how to generate a WSDL based on this data service or I'll have to find another way to consume this service. (Or just give up, but I hate to quit this challenge.) So, any advise?
ADO.NET Data Services are REST services. They are not SOAP WebServices and I don't think REST uses WSDL. You can call REST services from Delphi using HTTP GET/PUT/POST/DELETE. You could use Indy's TIdHTTPClient. See http://msdn.microsoft.com/en-us/library/cc668786.aspx for url examples. The results are in the Atom format, which is a XML format. You could parse it with TXMLDocument. They can also return JSON.
Maybe you can use the project Jedi "url grabber" components to consume the service. I have managed to get live share data using these in the past. I do not know exactly how your setup works, but maybe these can be helpful.
http://www.delphi-jedi.org/
You should also look at synapse, a small easy to use library which works well with REST. The latest version, which can be downloaded via SVN, works well in Delphi 2009.