Using Microsoft SQL Server in Kitura - objective-c

I need to check if I could use SQL Server with Kitura hosted in Bluemix using ICT (IBM Cloud Tool).
I like the idea of Swift in the Server but at the same time I only know Microsoft SQL Server Database which is hosted externally and would like to call that in my Kitura Server and then expose as WebService/API.
I found a good ObjectiveC library which can make SQL Server Connection. but that is ObjectiveC, and could work with Swift.
https://github.com/martinrybak/SQLClient
but when I installed it in the Kitura Project it throws errors (I can provide details...)
Just wondering if any one knows :
1) Is there a way to use SQL Server which I can call in Kitura Server. (Outside BlueMix)
2) Is there a way to install Cocoapods in Kitura - specially if Cocoapods installs an ObjectiveC library. Can I use a bridging header to bring that in the Kitura Server code. (I tried but don't seem to work)
3) Is there a way to use Microsoft SQL Server which I can call in Kitura Server. (Within BlueMix)
Many Thanks.

As you mentioned the project you found for connecting to Microsoft SQL Server is written in Objective C.
Kitura based applications, when running on Bluemix, are built using Swift Package Manager (SPM). Even for macOS, where there is an Objective C runtime for Swift, I don't think SPM knows how to create the proper bridging header. In addition there is no Objective C runtime for Swift on Linux.
However, there is Swift-Kuery (https://github.com/IBM-Swift/Swift-Kuery), our Relational Database abstraction layer. We currently have a plugin for PostgreSQL, with one for SQLite well under way. In addition we are starting to work on one for MySQL as well.
There exist ODBC drivers that can be worked with from Swift. Using one of those it might not be too hard to build a Microsoft SQL Server plugin for Swift-Kuery.
At this time we don't have any plans for an SQL Server plugin for Swift-Kuery, but we'd love to see one from the community.

Related

How can I built a standalone windows desktop application ,where I don't need to install any server additionally on client's machine?

I am developing desktop app using wpf mvvm,however I am confused as to how should I proceed with developing standalone application using sqlite,sql server compact etc
If you need a database (really need a database), I suggest using Entity Framework using the code first approach. This can create a local database for the application w/o the need of a database server.
However, strongly consider if you could just use files in the file system. It is amazing how much you can load into memory and if you want this to run on client machine, you likely don't have so much data that you can't just load the data into memory.
SQL Server Compact requires a separate installation step with administrative credentials.
SQLite is a library that can be compiled directly into the application.
In the case of .NET, it is a part of the System.Data.SQLite package, so it is automatically available when your application is shipped with this package (see SQLite deployment for .net application).

SQL Server - Client Version

I am new to SQL Server and trying to familiarize myself with it, so I have some questions.
My background is Oracle and am wondering if it works very similar to SQL Server.
On a client machine we need to install a client version of Oracle, and with the installation it comes with a TNSNames.ORA file which has settings for all of the Oracle DB's which are located on an Oracle DB server.
I would assume that SQL server would follow something similar, install a client version of SQL server? If so, does SQL Server has something similar to local Oracle?
I've found how connect to SQL server from another computer, just wondering if I still would need a slim down/client version of SQL Server, I would assume yes.
https://technet.microsoft.com/en-us/library/ms345343(v=sql.110).aspx
Some of you might be asking, why don't you try it, don't have my second computer yet, would like this info. ahead of time.
Thank you
SQL Server client APIs include the low-level components needed to connect to and use SQL Server so there is generally no need to install other connectivity components. To name a few Microsoft ones:
ODBC: Latest version is ODBC Driver 13.1 for SQL Server
OLE DB: Latest is SQL Server 2012 Native Client
.Net Provider for SQL Server (SqlClient): included .NET framework
JDBC: Latest Microsoft version is 6.2
There are also a number of other open source and commercial APIs available for use in various programming languages and development frameworks (e.g. Tedious for Node.js).

Cannot connect to server - SQL Server 2014 Management Studio

I'm quite a newbie, just trying to learn some new things. I've recently started learning c# etc and I'd also like to create a new SQL Server database using SQL Server Management Studio.
The thing is that for some reason I am not able to connect to the server. I might have done something wrong (or haven't done something that I should have done). Been researching the problem a lot on google and I found some tips but I still can't make it work.
I even found some installation tutorial in here: http://www.sqlcoffee.com/SQLServer2014_0005.htm and I only noticed that I used some different options (I used default, didn't change anything) like for example in "Database Engine Config" I chose "Windows authentication mode".
So that's what I get: http://imgur.com/2ftOdSB
Also I think I may have some problem with services, because when I go to the server configuration manager, the list is completely empty.
Thanks for any tips. If I don't solve this, I can always uninstall SQL Server Management Studio and reinstall it - this time following the steps in the tutorial. Hopefully that wont be necessary so help me please:)!
I've had a look at the link you posted about the installation instructions. As I mentioned before SQL server enterprise (database engine) won't install on a non-Server OS, You'll need at least Windows Server 2008. Have a look at msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx for the system requirements. During the installation there must have been an option to install the database engine, but it was probably disabled because of your OS.
I suggest you uninstall 2014 Enterprise and download SQL Server 2014 express microsoft.com/en-gb/download/details.aspx?id=42299 and make sure you select database engine as part of the installation.
If you want to get into SQL, I would suggest trying out MySQL first. I've utilized it a little bit and found it to be fairly simple with a decent amount of documentation. This version of SQL will still function with various languages. It doesn't utilize Windows authentication, but rather lets you set a root password specific to the database itself. I don't know if your software is similar to that but there may be an option to not use Windows authentication and instead authenticate within the database software itself.

What SQL-based server software should I install locally to develop db skills using?

I'm currently working a contract for a company which will be moving an access database to MS SQL server in the future, and I'd like to hone my skills before the company makes the switch.
I'm also looking forward to possibly developing a rudimentary website which would have a simple HTML/CSS/JS front end, and those skills could also use a sharpening. I'd like to develop my skills through some SQL work locally on my home computer. Researching how to do that has only yielded the suggestion of installing an Apache web server with PHP and MySQL on my local machine. While I'm not opposed to doing that, the last time I worked with an Apache install, it was over-complicated and bloated.
Is there a more streamlined option? It doesn't seem necessary to load an entire web server for the specific use I'm going for.
I'd prefer to simply install a program that allows me to host the [My]SQL database locally, and perhaps later some way to test HTML and Javascript interacting with the database. I'm already somewhat familiar with Sequel Pro. As an added bonus, my Python skills are rusty and I'd like to get used to scripting Python. At this point Xcode (4.2) seems the likely solution here, but I'm open to other options.
I would be installing on a 11" MacBook Air running Lion and Xcode 4.2.
Apache and PHP ship with Mac OS X 10.7. MySQL installation is pretty straightforward with the package available from MySQL.
Take a look at these instructions--for your purposes, you can stop after the php.ini section.
Obviously a very subjective question.
I find CherryPy (with Python) for the web server and server programming, combined with jQuery to augment the HTML in the browser to be a powerful and lightweight combination. When possible, I use SQLite for the database — another extremely lightweight option. I share your distaste for Apache, at least when it's not needed.
If you want to develop solid skills that are peculiar to MS SQL Server, you really don't have much alternative to installing SQL Server someplace you can access it. Although you can certainly limit your use of SQL Server to standard SQL set-based commands SQL Server is more often used with a heavy emphasis on procedural code built into stored procedures. Those skills (writing SQL Server specific stored procedures) are only very minimally transferable to or from other database products.
If you were running Windows, you could get MS SQL Server Express for free:
http://www.microsoft.com/sqlserver/en/us/editions/express.aspx
In the end I just installed MySQL. I ended up following the instructions available from this blog post about setting up django, but not installing phpMyAdmin...
This post also has some good things about setting up passwords and such, since I really didn't want to be stuck relying on something else to admin the MySQL setup.

Develop for SQL Server Standard using SQL Server Express?

I'm working on a web service project, and I'm coding at home, where I have SQL Express 2008 installed, but the app needs to interface with an SQL Server Standard. I've never done the transition before, and I haven't been able to find any resources on the subject - plenty of stuff about upgrading, but nothing about how to deploy.
For instance, Visual C# Express, I don't seem to be able to connect to a database without a database file - is that how Standard works as well? Do I just deploy the file with the application?
You can use the Express version also as a stand-alone installation. See here for example. In fact, there is also a free edition of Management Studio. You can manage your database the same way as any other edition. If you install SQL server express in this way, you can move to another version of SQL server without a hitch!
Unless you are doing something very very unusual or something hacky, the deployment will be very easy. Anything that I know of that you can do in the Express version works exactly the same in the full version.
All different ways of connecting to the database are available in both the Express version and full version. You don't need any database file to make a connection, unless the framework that you use requires it. You always connect to the database server through the network, never through the file system.
When you deploy the application you just change the connection string so that it points to the live server. If the login is set up the same way on that server, it works without any other changes.
I think you'll have to manually create the connection string as the IDE won't automatically generate ones connecting to SQL Server Standard Edition. But you can easily record two in the app - one for testing that points to the EXPRESS instance, and one for the live that points to the real one. As long as you're connecting to the same objects and interacting with them in the same way, it should be fine.
You can manually amend your connection string AFTER the IDE has generated its own to something like :
Data Source=ServerName;Initial Catalog=AppDatabase;Integrated Security=True;Persist Security Info=True;Connect Timeout=30
replacing ServerName and AppDatabase as required, and with possible authentication changes. You'll have to watch for the IDE recreating the original connection string, though, as I can't see a way to modify the connection string used in the Database Explorer and if you use the IDE to drag datasources into your app it'll keep using the original connection string.
SQL Server Developer Editions are pretty cheap, though - easily less than £50.