No data fields found in Bootstrap 5 Table Generator

No data fields found in Bootstrap 5 Table Generator

I am trying to bind Bootstrap 5 table with the Server Connect data source but there is no data there. When I want to fill in a Populate field in Data Bindings window I can’t see “cars” under “data” under “Server Connect” section. There is nothing to expand.

Even though I reproduced all previous steps correctly (I assume). I created a database, API action and so on. All services are launched (docker, homebrew, nodejs, and mariaDB). I connected to the database using Querious and I can see all the data.

Is there sth I’ve been doing wrong? What shall I double check?

PS: I don’t know why but in the Project Settings / Targets there is a different Database port for my MariaDB (9906) than the one in the Globals /Database Connection /Connection Properties / Connection Options which is 3306. Does it even matter?

Hello,
What page are you working on and what is your server model?
Can you attach some screenshots explaining the issue?
What happens if you run your API action in the browser, does it show the query results?

I am trying to reproduce “Hello World - Dynamic” lesson from Unique Ideas.
I use Node.JS, MariaDB and a Docker.
My steps so far:

  1. I added a database at Globals
  2. I added and API action with a query and I defined the columns within Query Builder
  3. At index.ejs page I added a Server Connect at App Structure
  4. At index.ejs page I added a Bootstrap 5 Table Generator
  5. And then in Pupulate field I am trying to select data source but under “data” there is nothing to expand.



I am stuck…

Are your server action, main page and content page saved?

Good question. For sure I never saved those but I can’t find a Save button due to 4.0 version.

Well :slight_smile: Hit Ctrl + S (windows) / Cmd + S (mac) to save the active tab.
If the server action is not saved you can’t “see” its content on the page.

OK. Thank you Teodor. It worked. This was only 12 hours of looking for an answer:)

I believe in version 3.6 there is a Save button/icon in the Wappler interface and in 4.0 not any more? We need to use Cmd+S?

There is no save button available in Server Connect panel any longer.
You just use the cmd+s or if you are a fan of clicking menus - use the File > Save menu:

Screenshot 2021-08-17 at 15.56.46

OK. Got it! I think all other interface changes are minor. Well I hope there won’t be any revolutionary changes.

I can see no data (only column names) in the table itself…

Then you can check for the exact error message when you run your page in the browser:

{status: “500”, code: “ER_ACCESS_DENIED_ERROR”,…}
code: “ER_ACCESS_DENIED_ERROR”
message: “ER_ACCESS_DENIED_ERROR: Access denied for user ‘db_user’@‘172.20.0.2’ (using password: YES)”
stack: “Error: ER_ACCESS_DENIED_ERROR: Access denied for user ‘db_user’@‘172.20.0.2’ (using password: YES)\n at Handshake.Sequence._packetToError (/opt/node_app/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)\n at Handshake.ErrorPacket (/opt/node_app/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18)\n at Protocol._parsePacket (/opt/node_app/node_modules/mysql/lib/protocol/Protocol.js:291:23)\n at Parser._parsePacket (/opt/node_app/node_modules/mysql/lib/protocol/Parser.js:433:10)\n at Parser.write (/opt/node_app/node_modules/mysql/lib/protocol/Parser.js:43:10)\n at Protocol.write (/opt/node_app/node_modules/mysql/lib/protocol/Protocol.js:38:16)\n at Socket. (/opt/node_app/node_modules/mysql/lib/Connection.js:88:28)\n at Socket. (/opt/node_app/node_modules/mysql/lib/Connection.js:526:10)\n at Socket.emit (events.js:314:20)\n at addChunk (_stream_readable.js:297:12)\n --------------------\n at Protocol._enqueue (/opt/node_app/node_modules/mysql/lib/protocol/Protocol.js:144:48)\n at Protocol.handshake (/opt/node_app/node_modules/mysql/lib/protocol/Protocol.js:51:23)\n at Connection.connect (/opt/node_app/node_modules/mysql/lib/Connection.js:116:18)\n at /opt/node_app/node_modules/knex/lib/dialects/mysql/index.js:68:18\n at new Promise ()\n at Client_MySQL.acquireRawConnection (/opt/node_app/node_modules/knex/lib/dialects/mysql/index.js:63:12)\n at create (/opt/node_app/node_modules/knex/lib/client.js:290:39)”
status: “500”

It seems there is some issue with your database user permissions:

code: “ER_ACCESS_DENIED_ERROR”
message: “ER_ACCESS_DENIED_ERROR: Access denied for user ‘db_user’@‘172.20.0.2’ (using password: YES)”

This one I understood. Hmm, I need to figure it out somehow. Is it related with the folder location on my hard drive and the rights to access the database or this might be an issue with users, passwords and/or ports?

In Globals / Database Connections / Connection options there is a port 3306 and in Project Settings / Targets the port is 9906. Even when I change the port from 3306 to 9906 it keeps overwriting it.