<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Custom connector for SQL Server Database in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Custom-connector-for-SQL-Server-Database/m-p/3414558#M44255</link>
    <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;I have this sample of&amp;nbsp; custom connector&lt;/P&gt;&lt;P&gt;But when i test it ihave this error message&amp;nbsp;&lt;/P&gt;&lt;P&gt;7 arguments ont été passés à une fonction qui en attendait entre 1 et 2.&lt;/P&gt;&lt;P&gt;But i don't know where is my error exactly&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[Version = "1.0.0"]&lt;/P&gt;&lt;P&gt;section DirectSQL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définissez d'abord la fonction GetOdbcDataSource&lt;/P&gt;&lt;P&gt;GetOdbcDataSource = (server as text, database as text) as table =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ConnectionString = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Driver = "SQL Server Native Client 11.0",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Server = server,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Database = database&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Credential = Extension.CurrentCredential(),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CredentialConnectionString =&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (Credential[AuthenticationKind]?) = "UsernamePassword" then&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [UID = Credential[Username], PWD = Credential[Password]]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (Credential[AuthenticationKind]?) = "Windows" then&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Trusted_Connection = "Yes"]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; error "Unknown authentication kind",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OdbcOptions = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CredentialConnectionString = CredentialConnectionString,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ClientConnectionPooling = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HierarchicalNavigation = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SqlCapabilities = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SupportsTop = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sql92Conformance = 8,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GroupByCapabilities = 4,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FractionalSecondsScale = 3&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SoftNumbers = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HideNativeQuery = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SQLGetInfo = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SQL_SQL92_PREDICATES = 0x0000FFFF,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SQL_AGGREGATE_FUNCTIONS = 0xFF&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OdbcDataSource = Odbc.DataSource(ConnectionString, OdbcOptions)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OdbcDataSource{[Name = database]}[Data];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Ensuite, définissez les fonctions GetTable, GetArticleTable et GetClientTable&lt;/P&gt;&lt;P&gt;GetTable = (server as text, database as text, schemaName as text, tableName as text, columnNames as list) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Source = GetOdbcDataSource(server, database),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbo_Schema = Source{[Name = schemaName, Kind = "Schema"]}[Data],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table = dbo_Schema{[Name = tableName, Kind = "Table"]}[Data],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredTable = Table.SelectColumns(table, columnNames)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredTable;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GetArticleTable = (server as text, database as text) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; GetTable(server, database, "dbo", "F_Article", {"AR_Ref", "AR_Design"});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GetClientTable = (server as text, database as text) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; GetTable(server, database, "dbo", "F_Comptet", {"CT_Num", "CT_Intitule"});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définissez votre source de données DirectSQL.Database&lt;/P&gt;&lt;P&gt;[DataSource.Kind = "DirectSQL", Publish = "DirectSQL.UI"]&lt;/P&gt;&lt;P&gt;shared DirectSQL.Database = (server as text, database as text) as table =&amp;gt;&lt;/P&gt;&lt;P&gt;let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // Appel à GetArticleTable avec les arguments server et database&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; articleTable = GetArticleTable(server, database),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // Appel à GetClientTable avec les arguments server et database&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; clientTable = GetClientTable(server, database),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // Créez la table de navigation en utilisant les résultats des appels précédents&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; navTable = #table(&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {"Name", "Data", "ItemKind", "ItemName", "IsLeaf"}, {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { "Client", clientTable, "Table", "Table", true },&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { "Article", articleTable, "Table", "Table", true }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; )&lt;/P&gt;&lt;P&gt;in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; navTable;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définition de votre connecteur DirectSQL&lt;/P&gt;&lt;P&gt;DirectSQL = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; TestConnection = (dataSourcePath) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; json = Json.Document(dataSourcePath), server = json[server], database = json[database]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {"DirectSQL.Database", server, database},&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Authentication = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Windows = [],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UsernamePassword = []&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Label = "Direct Query for SQL APBS",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // This sample doesn't enable the use of SSL.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SupportsEncryption = false&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définition de l'exportation UI de votre connecteur&lt;/P&gt;&lt;P&gt;DirectSQL.UI = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // enables direct query&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SupportsDirectQuery = false,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Beta = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Category = "Database",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ButtonText = {"APBS Sage 100c", "APBS Sage 100c Connector"},&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SourceImage = DirectSQL.Icons,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SourceTypeImage = DirectSQL.Icons&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définition des icônes pour votre connecteur&lt;/P&gt;&lt;P&gt;DirectSQL.Icons = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Icon16 = {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL16.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL20.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL24.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL32.png")&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Icon32 = {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL32.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL40.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL48.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL64.png")&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;</description>
    <pubDate>Mon, 04 Sep 2023 23:05:43 GMT</pubDate>
    <dc:creator>Ihebc_sfx</dc:creator>
    <dc:date>2023-09-04T23:05:43Z</dc:date>
    <item>
      <title>Custom connector for SQL Server Database</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Custom-connector-for-SQL-Server-Database/m-p/3414558#M44255</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;I have this sample of&amp;nbsp; custom connector&lt;/P&gt;&lt;P&gt;But when i test it ihave this error message&amp;nbsp;&lt;/P&gt;&lt;P&gt;7 arguments ont été passés à une fonction qui en attendait entre 1 et 2.&lt;/P&gt;&lt;P&gt;But i don't know where is my error exactly&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[Version = "1.0.0"]&lt;/P&gt;&lt;P&gt;section DirectSQL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définissez d'abord la fonction GetOdbcDataSource&lt;/P&gt;&lt;P&gt;GetOdbcDataSource = (server as text, database as text) as table =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ConnectionString = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Driver = "SQL Server Native Client 11.0",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Server = server,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Database = database&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Credential = Extension.CurrentCredential(),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CredentialConnectionString =&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (Credential[AuthenticationKind]?) = "UsernamePassword" then&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [UID = Credential[Username], PWD = Credential[Password]]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (Credential[AuthenticationKind]?) = "Windows" then&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Trusted_Connection = "Yes"]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; error "Unknown authentication kind",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OdbcOptions = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CredentialConnectionString = CredentialConnectionString,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ClientConnectionPooling = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HierarchicalNavigation = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SqlCapabilities = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SupportsTop = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sql92Conformance = 8,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GroupByCapabilities = 4,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FractionalSecondsScale = 3&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SoftNumbers = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HideNativeQuery = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SQLGetInfo = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SQL_SQL92_PREDICATES = 0x0000FFFF,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SQL_AGGREGATE_FUNCTIONS = 0xFF&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OdbcDataSource = Odbc.DataSource(ConnectionString, OdbcOptions)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OdbcDataSource{[Name = database]}[Data];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Ensuite, définissez les fonctions GetTable, GetArticleTable et GetClientTable&lt;/P&gt;&lt;P&gt;GetTable = (server as text, database as text, schemaName as text, tableName as text, columnNames as list) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Source = GetOdbcDataSource(server, database),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dbo_Schema = Source{[Name = schemaName, Kind = "Schema"]}[Data],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table = dbo_Schema{[Name = tableName, Kind = "Table"]}[Data],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredTable = Table.SelectColumns(table, columnNames)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredTable;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GetArticleTable = (server as text, database as text) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; GetTable(server, database, "dbo", "F_Article", {"AR_Ref", "AR_Design"});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GetClientTable = (server as text, database as text) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; GetTable(server, database, "dbo", "F_Comptet", {"CT_Num", "CT_Intitule"});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définissez votre source de données DirectSQL.Database&lt;/P&gt;&lt;P&gt;[DataSource.Kind = "DirectSQL", Publish = "DirectSQL.UI"]&lt;/P&gt;&lt;P&gt;shared DirectSQL.Database = (server as text, database as text) as table =&amp;gt;&lt;/P&gt;&lt;P&gt;let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // Appel à GetArticleTable avec les arguments server et database&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; articleTable = GetArticleTable(server, database),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // Appel à GetClientTable avec les arguments server et database&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; clientTable = GetClientTable(server, database),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // Créez la table de navigation en utilisant les résultats des appels précédents&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; navTable = #table(&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {"Name", "Data", "ItemKind", "ItemName", "IsLeaf"}, {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { "Client", clientTable, "Table", "Table", true },&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { "Article", articleTable, "Table", "Table", true }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; )&lt;/P&gt;&lt;P&gt;in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; navTable;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définition de votre connecteur DirectSQL&lt;/P&gt;&lt;P&gt;DirectSQL = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; TestConnection = (dataSourcePath) =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; let&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; json = Json.Document(dataSourcePath), server = json[server], database = json[database]&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {"DirectSQL.Database", server, database},&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Authentication = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Windows = [],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UsernamePassword = []&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Label = "Direct Query for SQL APBS",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // This sample doesn't enable the use of SSL.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SupportsEncryption = false&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définition de l'exportation UI de votre connecteur&lt;/P&gt;&lt;P&gt;DirectSQL.UI = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; // enables direct query&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SupportsDirectQuery = false,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Beta = true,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Category = "Database",&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ButtonText = {"APBS Sage 100c", "APBS Sage 100c Connector"},&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SourceImage = DirectSQL.Icons,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; SourceTypeImage = DirectSQL.Icons&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Définition des icônes pour votre connecteur&lt;/P&gt;&lt;P&gt;DirectSQL.Icons = [&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Icon16 = {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL16.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL20.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL24.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL32.png")&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Icon32 = {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL32.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL40.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL48.png"),&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Extension.Contents("DirectQueryForSQL64.png")&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;</description>
      <pubDate>Mon, 04 Sep 2023 23:05:43 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Custom-connector-for-SQL-Server-Database/m-p/3414558#M44255</guid>
      <dc:creator>Ihebc_sfx</dc:creator>
      <dc:date>2023-09-04T23:05:43Z</dc:date>
    </item>
  </channel>
</rss>

