Google Cloud SQL Server and Node.js - node.js

I am having trouble connecting a Node.js application (that uses express) I am running on my computer to Google Cloud SQL Server. How would I go about doing this? I am able to connect and make changes using SQL Server Management Studio. I have tried to connect using the public IP address in the overview tab for the database and I have tried connecting using Google cloud proxy. The former would result in an error that said ETIMEDOUT the latter would result in a handshake inactivity error. I also tried using the socketPath field and that resulted in the error ENOENT so I believe I may not be formatting the input for that field correctly. Does anyone have any insight on what I am doing wrong or have any good examples?

Related

connect hostinger DB with nodejs in local

I have created a database in Hostinger and make it remote. But, when I try to connect with my local using nodejs I am getting an error: "ER_ACCESS_DENIED_ERROR" even after using the right username and password.
This is my code below:
Have I done anything wrong? Please help me
This error usually occurs if the credentials are incorrect or the user can not access the database.
Also, In an express app, it is usually better to re-use the database connection instead of connecting to the database on every request.

beginner webrtc/nodejs issue connecting remote clients

I'm trying to develop a web application in nodejs. I'm using an npm package called "simple-peer" but i don't think this issue is related to that. I was able to use this package and get it working when integrating it with a laravel application using an apache server as the back end. I could access the host machine through it's IP:PORT on the network and connect a separate client to the host successfully with a peer-to-peer connection. However, I'm now trying to develop this specifically in node without an apache back end. I have my express server up and running on port 3000, I can access the index page from a remote client on the same network through IP:3000. But when I try to connect through webrtc, I get a "Connection failed" error. If I connect two different browser instances on the same localhost device, the connection succeeds.
For reference: i'm just using the copy/pasted code from this usage demo. I have the "simplepeer.min.js" included and referenced in the correct directory.
So my main questions are: is there a setting or some webRTC protocol that could be blocking the remote clients from connecting? What would I need to change to meet this requirement? Why would it work in a laravel/webpack app with apache and not with express?
If your remote clients can not get icecandidates, you need TURN server.
When WebRTC Peer behind NAT, firewall or using Cellular Network(like smartphone), P2P Connection will fail.
At that time, for fallback, TURN server will work as a relay server.
I recommend coTURN.
Here is an simple implementation of simple-peer with nodejs backend for multi-user video/audio chat. You can find the client code in /public/js/main.js. Github Project and the Demo.
And just like #JinhoJang said. You do need a turn server to pass the information. Here is a list of public stun/turn servers.

SharePoint 2010-"Cannot connect to the configuration database"

I have TFS 2012 which integrated with SharePoint service, recently I duplicated the same machine for testing, and modified some parameters on the testing machine to avoid conflict due to they are in the same networking. They works well.
Today the production server's SharePoint site prompt "Cannot connect to the configuration database", but team foundation service works well, I doubt that something in the testing server cause this, and I shutdown testing server, the issue still exists.
Before I have experience for this issue, most of them are related with SQL server instance configuration like this "https://mikessharepoint.wordpress.com/2011/11/22/cannot-connect-to-the-configuration-database-error-of-central-administration/" or some authentications issue in the IIS application pool.
and here is the error event from event viewer:
"
Unknown SQL Exception 53 occurred. Additional error information from SQL Server is included below.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
"
I doubt that something (probably SQL server instance name) on production server change to testing servers by some action, but I don't know where and how.
And I doubt that the new server cause the error, the reason is I find something incorrect in wss_config database of production server, the "ServerName" filed in table TimerJobHistory, some value are new server, some value are old server. But even I update all the value to old server and restarted the production server, it does not work.
I check all things I can googled, but nothing works, is there anybody could provide any help on this, appreciate for any kindly help.
Finally, I find the root reason, there is a table named "Objects" in the "Wss_config" DB, I find the new testing server name in "Name" filed, so I update the value to old server name-->Restarted IIS and SharePoint service (not sure if required)-->Bingo!
But I still don't know why the new server cause this error, so I have not power on the new server for now. Will update if any new detection.
Thanks all for your kindly help.

Connecting to a mongoDB with a TCP prefix on a NodeJS application

I created a NodeJS app that connects with a MongoDB and it seems to work locally.
Now, after hosting the NodeJS application on a remote machine, I am trying to connect to a mongoDB that was already created on that machine. When I print out some of the environment variables, the only one I see of relevance seems to be :
MONGODB_PORT: 'tcp://172.30.204.90:27017',
I tried connecting like I usually do with
mongoose.connect('mongodb://localhost:27017/metadata/')
and replacing it with mongoose.connect('tcp://172.30.204.90:27017/metadata') but I get an error that says my URI needs to start with 'mongodb'.
So I tried replacing it with mongoose.connect('mongodb://172.30.204.90:27017/metadata') and it no longer throws any error. But on the MongoDB side I don't see any new connections happening and my app does not start up on the machine. What should I be putting in the URI?
Your URI should indeed start with mongodb:
mongoose.connect('mongodb://username:password#host:port/database?options...');
See this page for more information: https://docs.mongodb.com/manual/reference/connection-string/
Did you try to connect to the database from cli? Or Telnet to see that connection isn't blocked.

SQLAzure database server - named pipes provider, error: 40 - the network path was not found

We access our database that is in SQL Azure, and every so often we hit this error while trying to connect. We connect from a corporate network, using SSMS or API.
The weird part is how it always successfully and instantly connects on retrying. We retry just 1 second after and it works.
We saw that the DTU Usage % was high and scaled our server up, but that did not help. We have employed a SqlAzureRetry policy while accessing the database from our API, which seems to be helping in mitigating the issue - but the root cause is still not identified.
Has anyone employed a configuration or strategy or faced a similar issue? (the underlying provider failed to open / network path not found).
Thanks!
The solution was to change the format of the server name to use TCP:
tcp:servername.database.windows.net,1433;
Also, if you're connecting from code, you should change to the above format in your connection string.

Resources