Artigo
· Abr. 10 2min de leitura

Configurando uma Conexão de Tabela Vinculada ODBC/JDBC ao MySQL a partir do Iris

Devido à interpretação de SCHEMA pelo MySQL diferir do entendimento comum em SQL (como visto em IRIS/SQL Server/Oracle), nosso Assistente de Tabelas Vinculadas automatizado pode encontrar erros ao tentar recuperar informações de metadados para construir a Tabela Vinculada

(Isto também se aplica a Linked Procedures e Views)

Ao tentar criar uma Tabela Vinculada através do Assistente, você encontrará um erro semelhante a este

ERROR #5535: SQL Gateway catalog table error in 'SQLPrimaryKeys'. Error: ' SQLState: (HY000) NativeError: [0] Message: [MySQL][ODBC 8.3(a) Driver][mysqld-5.5.5-10.4.18-MariaDB]Support for schemas is disabled by NO_SCHEMA option
 

Para criar uma Tabela Vinculada a um banco de dados MySQL que emprega uma estrutura "sem schema" (o comportamento padrão), por favor, siga as instruções abaixo

  1. Crie uma Conexão SQL Gateway
  • Configure a conexão SQL Gateway como de costume
  • Certifique-se de que a caixa de seleção "Não usar identificadores delimitados por padrão" esteja marcada
  • Clique em "Testar Conexão" para confirmar se a conexão foi bem-sucedida

  1. Use a API baseada em Terminal para Criar a Tabela Vinculada
  • Utilize a seguinte API:$SYSTEM.SQL.Schema.CreateLinkedTable() O método CreateLinkedTable() utiliza os seguintes parâmetros::

CreateLinkedTable(dsn As %String, externalSchema As %String, externalTable As %String, primaryKeys As %String, localClass As %String = "User.LinkedClass", localTable As %String, ByRef columnMap As %String = "")

  • Exemplo:Neste exemplo, usamos a tabela de sistema help_keyword  do MySQL com o camponame como chave primária:

USER>do $SYSTEM.SQL.Schema.CreateLinkedTable("MyDSN", "", "help_keyword", "name", "User.LinkedClass", "LocalTable")

Por favor, certifique-se de que todos os parâmetros estejam especificados corretamente para evitar quaisquer erros durante o processo de configuração

Discussão (0)1
Entre ou crie uma conta para continuar