node.js sql server driver - is it still being actively developed? - sql-server

The Microsoft node.js sql server driver (https://github.com/Azure/node-sqlserver) has not had any commits for 11 months. Anyone know what's going on with this effort? My company is using it actively, but has run across some issues that led me to the repo and the discovery that it seems to have been abandoned. Lots of open bugs also.
Should we give up on this driver and try another? Any recommendations?
Microsoft, please weigh in here.

I emailed the Microsoft main contributor and he was very helpful, although he did admit that officially MS has never declared one way or the other if they were going to continue support. Guess we'll wait and see.
In regards to my original problem - this info may help someone.
I was using queryRaw and listening for events to build the response. This method allows the user to submit multiple sql queries in one request (just separate them with ;). A large text datatype field was getting truncated and I couldn't figure out why. Turns out that the 'more' parameter that is supplied by the driver means that you must concatinate the return data.
Lots of trial and error when figuring out this driver.

Related

Publish web service - not found

I need publish some web services so I add some pages and codeunits to web services form. Then, I clicked publish checkbox to make it visible for my external program. When I try to visit
http://localhost:7047/DynamicsNAV/WS/Services
it doesn't show my codeunits or pages avaliable. The only exists is SystemService. It doesn't work also when I try to reach it by
http://localhost:7047/DynamicsNAV/WS/<companyname>/Page/<wsname>
Message printed claim that "/Page/" was not found. I don't really know where could be problem and I feel I don't have enough knowledge about Dynamics solution to solve it. Maybe someone of you meet this problem in the past. I don't even know, where to search errors, where logs from publishing should be written. My version of this software is 2009.
Could it perhaps be that you have multiple NAV service tiers running on your machine, and the one in which you are configuring your webservices is not the one listening to port 7047? Just trying to eliminate any possible cause... ;)
More simple checks, just to be sure:
is this the right database? :)
have you specified service name (Latin characters, no spaces etc)?
have you tried restarting NAV Server and Web Services?
are published objects available in the license uploaded to DB?
have you tried publishing standard page like 21 Customer Card?
(Sorry, this is not an answer, but there is no formatting in the comments :)

Scaling SignalR with SQL server - how often can we clear data?

I'm looking to write a scaled out SignalR application using SQL Server, using this article as a guidline. After doing some testing, it looks like the table Messages_0 in the SignalR database that I created (per the article) could get pretty big.
What I'm wondering is, how often can this data be cleared out? I see there is an InsertedOn column so I would think after day or two the data wouldn't be relevant anymore. Is there any documentation or guidelines on this?
I'm wondering if I could just set up a job that would clear out anything older than a week just to prevent the table from getting too big over time.
I was looking for the same thing, and I did read the suggestion in the documentation, but I was wondering if SignalR would clean up by itself in that case, and when.
I found the answer here: How to cleanup SignalR SQL database
Which points to the github repository, where you can see how SignalR automatically cleans the tables when reaching a hardcoded limit.
See github code here: SignalR SQL automatical clean-up
Thought it might be useful to add to this question, for anyone searching the same question.
The documentation seems to suggest (albeit briefly), that you should not delete rows yourself.
SignalR manages the tables. As long as your application is deployed, don't delete rows, modify the table, and so forth.
Take a look at: Scaleout With SignalR - asp.net

Eclipse can't connect database

Is it possible to build desktop application whit small data base on linux/ubuntu? I have try eclipse+derby- not work, driver load, but can't connect to db. Eclipse +sqlite- not work too, No suitable driver. For a week from now i trying and can't connect to my db. If some1 have WORKING tutorial how to do this in ubuntu+eclipse, pls share. 1 week google, so please if some1 pass this to help me.
Now im using SQLite, i have load the sqlitejdbc-v051.jar in build path and use
Class.forName("org.sqlite.JDBC").newInstance();
but the result is: No suitable driver found for jdbc:derby:/home/vasil/MYDB
Have you taken a look at this site? It seems to be a fairly decent walkthrough. Is the db server that you are trying to connect to running and somewhere accessible to your application?
Take a look at this question. It seems to be very similar to yours. I havn't used derby but I have used many other db servers. It sounds like you dont have the driver on your applications classpath.
Also, this tutorial might also be helpful. It shows how to use jdbc to connect to a db.

How can I decode SQL Server traffic with wireshark?

I can capture the packets using wireshark, but I can't decode the stream into anything intelligible.
This item in the WireShark bug database suggests that maybe this isn't possible in SQL Server 2005 or newer. But several people on Stack Overflow claimed this was a good method in answers to this question:
How to validate SQL Server traffic is encrypted?
Any help appreciated.
Edit (2017-05-02): Microsoft Network Monitor - has been replaced by Microsoft Message Analyzer - which serves the same purpose. See also comment below this answer or the answer further down for how to use it!
Note: Microsoft Message Analyzer was deprecated in late 2019, and is no longer available for download.
Original Answer
There is another much underrated tool from Microsoft itself: 'Microsoft Network Monitor'. Basically this is very similar to wireshark with the exception that some specific MS protocols have better parser and visualisation support than wireshark itself and obviously it would only run under windows ;-).
The tool is quite old and looks abandoned (havn't seen a newer release so far) but still does an good job and the grammar for defining new protocols is quite neat/interesting - so this still possess a lot of power for the future.
Analysis Example - Recording is filtered for TDS - so the other packets are discared mostly:
This is also true for sql server connections. The MNM can even visualize the resultsets going over the wire - quite neat. Nonetheless wireshark as mentioned above would be sufficient to validate encryption and applied certificates on the wire itself. Means it can understand the TDS-Protocoll fully.
Handling TLS
Also with an extension (so called experts) 'NmDecrypt' and the right certificates (including private keys) - it is possible to decrypt protocolls - quite nice for TDS which uses TLS INSIDE of TDS - no wonder - no one has really implemented that yet as a fully supported protocoll for wireshark ;)
So far - regarding MSSQL-Traffic - or to be more precice TDS-Protocol this is the best tool I've come across so far. Wireshark is cool - but in this case MNM is 'better'. Have phun! ;)
Links for the tools:
Microsoft Network Monitor: http://www.microsoft.com/en-us/download/details.aspx?id=4865
NMDecrypt: http://nmdecrypt.codeplex.com/releases/view/85581
Not wireshark, but for me the Microsoft Message Analyzer worked great for that.
To get all the sent commands
Start a new session
Add Live Trace as as Data Source
Select Scenario (I chose Local Network Interfaces)
Enter a session filter expression like *address == 10.1.2.129 to filter only traffic to your sql server.
Click start
Right click on column header in the massage table and select Add columns...
Add TDS > SQLBatch > SqlBatchPacketData > SQLText
This should give you something like the following
Unfortunately there is no autoscroll implemented at the moment, but you can sort by timestamp and have the new queries popping up at the top.
The question that you are refering to is how to prove that the traffic is encrypted.
So they were using wireshark to show that you could not read it.
The encryption was weak on earlier versions of SQL server, but I don't think that it is easy to decrypt SQL Server 2005 traffic.
Wireshark decodes and shows you captured data when understand the protocol (and layer). That means the captured data isn't encripted.
If the data is encripted (SSL, ie), WS will only show SSL handshakes and raw data.

TSD3004 error with Visual Studio 2008 Database Project

I am using Visual Studio Team System 2008, version 9.0.30729.1 SP. I have a database project that I was working with yesterday with no issues - I was able to build and deploy the database successfully. Today, however, when I open the solution I receive what is listed as a "Warning" that halts any Build/Deploy/etc process, but cannot be suppressed via the Project Properties page.
The Warning reads: "TSD3004: The application encountered an unexpected error. To diagnose this problem, enable tracing. You should contact product support."
I did contact Product Support, but they insist I pay for someone to help me get this fixed. There are zero records returned from an search of "TSD3004" on either MSDN or support.microsoft.com, and there are only three returned from a Google search (all irrelevant).
Can anyone please help me figure out what's happening?
Have you tried asking on Microsoft's dedicated forum?
http://social.msdn.microsoft.com/Forums/en-US/vstsdb/threads/
Actually I guess you did.. :)
http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/eea24181-e115-4f56-a482-58059160d705

Resources