I’m new here. A quick background: we are a software company and currently use MS SQL. However, we are interested in switching to Yugabyte and are currently testing it. Since we can only switch gradually due to the size of the system, we have 2 DBs (MS SQL and Yugabyte) running simultaneously for a period of time (I think 2-3 years). We have a general problem with the test and I hope we can get some help here. Since this problem is probably familiar to other switchers:
Yugabyte as a test cluster on 3 nodes. The main database is MS SQL with Yugabyte as a linked server using the ODBC driver “PostgreSQL Unicode(x64)”. The linked server is set up as the server type “Microsoft OLE DB Provider for ODBC Drivers”.
A SELECT works without any problems, an INSERT like the statement below produces an error.
Statement:
INSERT INTO OPENQUERY(YUGABYTE_TEST, 'SELECT "Field1" FROM dbo."TestTable" WHERE "LineId" = -1 ')
SELECT 1234
Error:
(ERROR) [0A000] ERROR: System column with id -1 is not supported yet
What are the options? Unfortunately, we can’t find any via internet research.
Thank you for sharing the details. I suggest we set up a call to discuss this further. Can you please email me at hdagli@yugabyte.com with your and your team’s availability over the coming days, and I will do my best to accommodate?
For your reference, I am located in Germany; hence it would be within the CET time zone.
We are using Yugabyte DB Version 2024.2.1.0. The language used is inside MS Management Studio (SSMS) and is named as T-SQL. Inside SSMS we are using a linked server object which links an ODBC x64 Datasource to SSMS. The ODBC driver used for connecting to Yugabyte is PostgreSQL Unicode(x64) which is the official PostgreSQL ODBC driver in the latest version.
Description of OPENQUERY:
The OPENQUERY function is used to run ad-hoc distributed queries on a remote data source using the linked servers. The key concept behind OPENQUERY is the establishment of a linked server, which acts as a bridge between the local SQL Server instance and the remote data source.
Description of YUGABYTE_TEST:
This is the given name of the linked server object and can be defined by ourself.
Code Example:
This can only be used inside the above described construct using SSMS via linked server (ODBC).
Following up on our previous conversation—has there been any progress with the testing? I suggest discussing it in more depth on a call. Looking forward to your thoughts.