 Hi there and welcome to Visual Studio Toolbox. I'm Dimitri Lailand and I'm really glad to be back on another episode and I've got Andre and Meet here today. Hey guys, welcome. Hello. Thank you. So today we're going to be talking about SQL Server connectivity. We're going to do some Visual Studio code demos and a lot of other cool stuff. But before we get going, I wanted the folks here, my guests to introduce themselves and tell you all what they do at Microsoft. So why don't you go ahead. Hi, I'm Andrea Lam. I'm a program manager on the SQL Server team. For the last two years or so, I've been concentrating on the connectivity space, particularly with C-Sharp, Java, and Ruby connectivity to SQL Server, both in the Cloud and our Cloud platforms. Cool. Hey guys, I'm Meet Bagde. I also work in the same team as Andrea. I work on connectors for ODBC, PHP, and Python. Cool. Well, welcome to the show. Thank you. I met you guys about six months ago or so and it was really great to see a team of people focused on connectivity. SQL Server, it's a great product. I've used it quite a bit in .NET applications that I've worked on. I've actually had SQL as a backend for Java applications in the past as well. If you really go really far back, there was some other tech there, but I think a lot of people are familiar with what SQL Server can do for their data applications. Today, maybe we'll show them a bit more about languages and frameworks that you guys support. So do you want to maybe kick it off a little bit and tell folks about the stories of all? So more and more, our team's been concentrating a little bit more in the cross-platform story for SQL Server. Now that SQL Server vNEX, CTP-1 is out, we now have support for Linux, both Ubuntu and REL, and we also have support for Mac via Docker. So this makes it much more important for us to have a solid cross-platform story across our entire connectivity landscape and that includes traditional C-Sharp and Java, as well as new open-source languages including like Python, PHP and Ruby. So on our team, we look at that for the entire SQL Server team and we look at how do you bring all these awesome programming languages to have the connectivity towards SQL Server. Like I mentioned before, it's a third-party Clouds on-premises, and our Cloud Platforms paths and all that kind of stuff. So what we've recently been working on more and more is actually our new website. We have a new Getting Started website that, yeah, it's a homegrown PM type of thing and we've really worked very hard on that. It basically just walks you through all of the steps to get your prerequisites to get SQL Server running, get all your language prerequisites, the connectors that you may need to connect to SQL Server and all that good stuff. Then we also walk you through some basic credit applications and then show you some cool features that we think will, you'll enjoy to make your application a little bit better. Cool. One of the things I want to love also for the audience is, I think the word cross-platform is a bit overloaded. Yeah. I think SQL is quite a bit in that terminology now, so let's talk for the various pieces. Of course, we've had SQL Server as the engine, right? And that's traditionally something you've only run on Windows. Eventually, when Azure became a thing, we made SQL Database, right? So we have something you can run totally in a managed way in the Cloud or something you can run on premises or in some virtual machine. And then we, of course, have our tooling which traditionally has been Windows. And that was kind of the story. And then there were a bunch of drivers that we had made or the community had made that allowed different languages and frameworks to connect up to SQL. And the biggest thing that we just released is the whole idea that, okay, well, we're going to take the engine cross-platform and we're going to bring that to Linux, right? So that was our first kind of cross-platform play. And now we have the Visual Studio Code Toolings, that's cross-platform. And our driver story is getting better and evolving and open sourcing in some cases. So those are kind of the three pillars and we're going to focus on the connectivity part. But I wanted to make sure folks in the audience kind of understood there's many aspects of cross-platform. We care about the tooling, connectivity, and the engine. And we'll work with some of the support. Yeah. So why don't you show folks the website that I can get them oriented a bit. Awesome. Do you want to walk through it? Yeah, sure. So, as you can see, this is our Getting Started website. You can basically pick a language you want. So we have C-sharp, Java, Node.js, PHP, Python, and R for now. We have all the OSes here. So let's see our Node.js developer. And you want to get started on Mac. Just click on it. And so you can see instructions to set up your environment. We'll talk about how to install SQL Server, a command line tool. Next, I'll also show you how to create your first application. So the very simple application will let you do simple queries, which will be create, read, update, and inserts. And lastly, we'll have a really cool hero feature. So we're going to talk about actually an ORM, and then a hero feature called Column Store. And before we get started, I think we have a couple of demos we can show here. So I guess we can do Java. Yeah, let's go ahead and do Java first. Let's do Java first. Yeah, so one of the things I wanted to mention about the site and we talked about this before, which is that the folks should know that we've really support, you know, C++ and most others. Ruby, yes. So the website is just still a work in progress, right? Yes. We were working on that. I don't want folks to see this and say, oh, are you guys dropping C++ support or Ruby? Yeah. We're committed there. So are you guys ready for the first demo? Absolutely. All right, so we'll be right back. And Andrea, we'll begin the demo part of this. And I'll be back later to show some more demos as well. Sounds good. All right. All right, well, we're back and ready for the demo. So why don't you go ahead, Andrea? Yeah, so today I'm going to show you how to set up SQL Server on an Ubuntu 16.04 machine. We'll start with creating a simple Java application to help you kind of get started. You'll get all the prerequisites that you need to run Java properly on Ubuntu 16.04. And then I'll show you kind of a simple application to connect to your database, run some simple operations. I'm going to do all of this within VS Code. And I'll kind of use the Java language extension that's available in the marketplace. Cool. And one of the things I wanted to kind of level people is that we're going to show a very specific scenario. So Java connecting to SQL Server on Linux, which is our preview. But this scenario would work well just like if you had Java connecting to SQL database in the cloud or SQL impremises. This is just the example. But we see SQL as a SQL anywhere thing. It's not a platform. It's a platform. SQL is not different on Linux versus being in the cloud or whatever. It's just that right now, this is the demo we want to. So yeah, it'd be as simple as just kind of changing the connection string parameters to kind of point to wherever your SQL may be. Cool. Awesome. Let's show it down. Yeah, so let's get started. So first step, so we're over on the website now and I'm actually in the Java Ubuntu tab that we have set up here. So to set up your environment first, obviously one of the most important things we're showing today is SQL Server. So it's kind of a few quick commands. So let me go ahead and I'll open up VS Code. And VS Code has this really awesome integrated terminal built in so I can actually run everything all within VS Code so they're having to switch to a different tool or anything. Yeah, it's a cool feature. Yeah. So let's see, let's go ahead. The first thing we're going to do is actually just get into root, so let me switch that. I'll paste this command over, put in my password. Awesome, we're in. And then the next thing we're going to do is we're actually just going to make sure that all of our keys are set up. So we'll just add the keys that we need to actually access our repository where SQL Server is. Paste that in. So that's done. And then we'll switch back over, grab one more command. And this is actually just the command to actually get the key for SQL Server. Paste that in. Paste never works for me. Yeah. There we go. All right. Cool. All right. Then we got that. And then we'll just exit our root. And then the next thing would be to actually just update all of the repository lists. So we'll just do that really quickly. Paste. It's going to go ahead and fetch a bunch of stuff. Perfect. That was fast. Yeah, nice and quick. And this is the most important step. So this is actually going to get SQL Server and install it for us from our package. So let's go ahead and paste that in. Awesome. So the next thing is, do you want to download this package? Yes, I do. And that's just going to quickly run through and get the SQL Server package unpacking, blah, blah, blah. Yeah, it's really awesome to see Visual Studio running on a Mac. I still, you know, every time I see it, I mean, I don't have a Mac. I'm not a Mac user much. But it's just awesome to see us being everywhere now. Well, truly cross-plat. Especially with VS Code, such a cool little editor. It's super powerful. OK, so I would say kind of the next step we have to go through now is to actually set up SQL Server. So that's going to actually create the password for our system admin. And then, obviously, we have to accept the license agreement and all that kind of stuff. So let's set that up. If nothing else, we're proving that the website really does have valid instructions. Yes. You're kind of pasting. You're shoving them. OK, so I'm going to, let me choose a password that Meet can use after as well. Confirm my password. You should just mess it up for him. I'm sure he'll enjoy typing in the password. Did it take it? OK. OK, perfect. Setting it up. Cool. All right, let's go ahead and start SQL Server. And we'll just enable it on boot, might as well. Awesome. So through all that, just set up SQL Server. And it's now running on an Ubuntu 16.04 machine. Awesome. Which is pretty cool. Yeah. So the next thing I'm going to do, just because we're going to need Java, is I'm actually going to install the Java runtime environment, the Java development kit. And I'm also going to get Maven. Do you know what Maven is, Dimitri? You know, I keep hearing the word in nodding when people ask me, but I'm going to be honest this time. No, I'm actually not sure. So Maven is really awesome. So it's what a lot of Java developers use to kind of build and manage their dependencies and their projects and stuff like that. So one of the biggest requests that we ever got for our Java driver, the JBC driver for SQL Server, is that we weren't kind of where all the native Java developers were. And we kind of caused a little bit of friction, because you'd have to go to the Microsoft Download Center. You'd have to get a tar file or a zip file and unpack that and then point your project to that. And it kind of got a little bit complicated. And I could understand everybody's frustration. So one of our biggest things now is we've actually put our JDBC driver up in Maven Central Repository. So now Java developers can easily go ahead and just grab the dependency added to their project and build their project with our JDBC driver. So now it's just part of the natural flow. Exactly. So I just installed the Jerry. Now we're going to grab the development kit as well. So we'll need both of those to actually run all of our project. That's grabbing that. And then the next thing we'll need after that is to actually install Maven as well. So like I mentioned before, it's used to build and manage all your dependencies. And it's pretty cool, because that means each project that you build, you can kind of specify your own dependencies. So let's say you're searching for project-project. You don't need the same dependencies. You can take those out and add them as you see fit. All right, so that's done. We'll install Maven. I think what's cool is we still haven't left VS Code. Having the terminal here is a really big deal. It makes it much easier. OK, so that's going to work through that. And then we can just confirm that we have Maven by just running Maven V. So let's just. I like how you guys show the output. It's always mysterious when you're doing something the first time. You're like, did the output show the right thing? Or if there's something in there that looks suspicious. All right, cool. So we've got Apache Maven 3.3.9. We're using Java 8, and it's put in our home directory. All right, cool. So now we have everything that we need to start programming with Java on this machine here. So why don't I go ahead and show you how to get a simple project started? Let's do it. All right, so Maven's cool, because it actually has kind of sample projects for you to get started. So if you run a command like this, you specify the name of your project and a few other parameters. You can actually create a whole world application without having to do anything. Oops, paste. So what this is going to do, it's going to set up a Maven project for me. It's going to create a few files. The two most important files it's going to create is the dependencies file. So it's called pom.xml. And then an app.java file that's kind of embedded in a few folders. So if I kind of wanted to show you that through like the file explorer, just explain a little bit more. So that pom.xml file is probably one of the most important ones. So that's where I'm going to actually put the JDBC driver in it. I'll show you that in a second. And then the next file that I'm going to open is the app.java, and that's where we're going to put all of our application code. So one of the biggest things that we've been working on in terms of making sure that we have native support for Java developers is, like I said mentioned before, putting the JDBC driver up on the Maven central repository. In order to do so, we wanted to also make sure that the source code was available for Java developers to see. So we've actually announced that we've open sourced the JDBC driver for SQL server. All the source code is now on GitHub. You can actually go to the repository, follow any issues you see. Java developers can make pull requests if they want. If there's something that they think we're missing, or they want to help us clean up our code, those kind of things. So it's really cool, because our goal for all that was to make sure we're closing in that feedback, making sure that we're able to respond to any issues as quickly as possible and stuff like that. I think one of the most important things to sell our communities is that, look, we're moving things open sourced because we want to be part of the community. We want their feedback, their help. We want to be transparent wherever possible, but we're not abandoning drivers here. Exactly. We're investing more than ever, I would say. Yeah. And so, personally for me, in the last few years, I've just kind of learned more and more about what it is Java developers are looking for. And one of the biggest things is native install experiences, decreasing that friction for them to get what they need and get started as quickly as possible. So that's one of our biggest goals. And I'm hoping that through this open sourcing work and getting up on Maven that we can actually do that for them. And how do you guys find out what Java developers want? What tactics do you use to make the feedback? I think what's really cool is now that we're on GitHub, we can actually send up pulse surveys and stuff like that. So we can actually ask the community what it is that they're looking for, what kind of scenarios that they're trying to actually solve with their applications and their different workloads and stuff like that. So otherwise, it's a lot of making sure that whatever we're lighting up on SQL Server, Vnext, all the support that is required on the client side, we're also lighting up in all of our connectors and making sure that they're support for those features. Right. And we use the like, I'm guilty of you saying the word driver or you saying the word connector. So we're saying the same thing. It's the same thing. Exactly. Language overload. And I think it's very important to say, look, we know we're revving all our products really fast, including SQL Server, right? I would say probably speeding up if anything else. And drivers need to keep up. And as community build drivers that we sort of identify as top drivers, or as we build drivers, we're going to be looking to make sure that support gets in, even if it's our engineers doing the work. So I think that's really a big step up. Yeah. OK, so where do we leave off here? So what I was going to do next, yes, I was going to add our JDBC driver, the one that's in Maven, as a dependency to our project here. So very simple to do. We also included that on our website. So the dependency is just right here. So I'm just going to copy that code over. And I'm going to paste that into my XML here. So still within the larger dependencies tag. So basically we are in the group ID. It's called com.microsoft.sqlServer. Our artifact or our jar is called msql-jdbc. And the version I'm going to use today is 6.1.0.jre8. I'm running Java 8 on this computer. So we also have a jre7 jar available if you need it. So if you're running an older version of Java, you can use that for your Java 7 project. Cool. All right. And one of the things that I like to do personally is I like to specify to Maven that I want to build against Java 1.8. Because sometimes if you have conflicting versions on your computer, it kind of messes things up. So I like to specify that it's against 1.8. You know, if you want to create a project that's built in Java 8, but you're compiling it against Java 7, you can also do that because Maven lets you do that. All right. So we're going to head and save that. So all we did was we added the JDBC driver as a dependency, and then we also specified to build against Java 8. All right. And then in our app about Java, like I mentioned before, Maven kind of just created a sample project for us. So it actually created kind of a Hello World app for us. But I'm going to replace this code with some of the sample code that we have here. And this sample code is basically going to create a database on my local host SQL server. And it's going to create sample DB here. And then it's going to create a table called employees. We're going to insert a few employees, and those employees can have a name and a location. So you can see here in Nikita, India, Tom in Germany. And then we'll insert another employee in. And then we'll update one of the locations for one of the employees, and then we'll just delete one of them. Just to show you that we can actually walk through all the simple cred steps. Basic cred demo, but I think it does a good job to demonstrate all the basics there. So let's go ahead and just replace this code. Paste that in. Awesome. So I have the Java language extension also included on my VS code here. Awesome. So we saved that. And the next thing that we need to do is actually build our project. So it's super simple to do. You just run a simple command maven package. So let's make sure we're in our proper folder. And we're going to run maven package. And that's going to build everything. It's going to grab a few things, because this is the first time I've ever built in this machine. It's also going to run some simple tests. And it's basically just going to make sure, like, are you specifying the right dependencies? Is there anything in the POM file that doesn't make any sense? Downloading a few more things. We're in a good connection here. It's nice and fast. All right. Should be done in a second. That means to have the terminal window the place of music. All right, cool. I think it's kind of, it started the test. Awesome. Build success. So what this does is it, I told it to actually output a jar. So you can build towards different things. So when the project is done building, it packages as a jar. All right, cool. So now we have a new jar created. It's called SQL Server Sample 1.00.jar. And the next thing to do is actually run it. Let's make sure we actually did something with the code that I put in. And that's also very quick to do. So you just run maven exec command. So I'll paste that in as well. And basically it points it to where the Java application is. So my main class is in my app.java file. So it's pointing it to app. All right, so the first thing is, yeah. Oh, no. No, it's an exception. What did it yell at? Oh. Password issues. Silly me. Didn't update my password. Yeah. It's not your password. That would have been the easy one. All right. All right, we're going to run that one more time. Real code. Real code has to throw these one exception. Otherwise, it doesn't count. This is the demo gods making fun of me. OK. And we'll run that again. So we repackaged it. Perfect. So the first thing it was doing was it was connecting to SQL Server. Did that. Then it created sample DB. That's done. So the next thing it's going to do is actually populate that employees table with some data. So that's done. And then we're going to insert a new employee. Done. And then we're going to update Nikita's location. Done. And then we're going to delete someone, Jared. And then let's go ahead and spit the rows back out. So we now have three employees in our table. So obviously, I can see that the app did that. But how do I make sure that it's actually written to the database and I can actually see it? Yeah, let's see how to query. So yeah, the cool thing about VS Code is we have a new extension. It's the MS SQL extension for VS Code. So let me go ahead and show you how to query that. So let me open a new file. The first thing I'm going to do is connect to my database. Yes, we need to change the SQL language. And we're going to create a new connection profile. So we are local. And I'm going to pass in the username, my password. And we'll save the password. And we'll call this local host connection. All right. So as you can see the bottom right, it's connecting. Perfect. So it's connected to local host. We're connected to masterDB for now, logged in as SA. I'm going to go ahead and switch to the database that we created. It's called sampleDB. So let's make sure that I actually have stuff in my employees table. So I'm going to whip up a simple query. Awesome. I love the IntelliSense and SQL. All right. Awesome. Let's see if it actually worked. Execute query. Awesome. So everything that I said I had in the terminal is actually written to the database and actually has been updated. So in a matter of minutes, I was able to create a new Maven project, add the JDBC driver to my Java project, and then run some simple cred commands. Awesome. Yeah. One of the things we talked about earlier, and I think it's good to banter a little bit about it, is the whole notion of, look, we just showed a sample. Right? Yes. I mean, we know this is very much demo style code. But we're committed to SQL Server being a great experience in production environments with people, whether that's making sure that the latest SQL Server features are in as we ramp up, and also support them with issues. So what can you talk about from the support perspective? How do we see these drivers? People have problems. If they see issues in production, whatever. What's the report? So obviously, the first line of command for us is our support engineers. So anybody who does have a problem can contact us through the support team. Otherwise, we are available on Stack Overflow. We treat those questions pretty much every day. We go through all those as a PM team. Making sure that we're answering all the questions, whether it's Stack Overflow, actually MSD and forums. And then now that we're on GitHub, let me go ahead and show you the project for the JDBC driver. MS SQL JDBC. So one of the great things that I like about us being now on GitHub is, are we going? Yeah. Our team now watches all of the issues in pull requests very aggressively. And one of our big things for us is our goal is to answer any issue or any new pull request within 48 hours. We want to make sure that we're actually answering the issues in a way that the people that are actually following things, people who actually take the time to actually come to the repository are getting their questions answered. So since we open sourced, which was a few weeks ago from today, we've actually aggressively been trying to close many pull requests. So we've closed 34, which has been really awesome. It's kind of nice for us to start learning how to react to new things that come in on our GitHub. So I would say, if you do have an issue, one of the best places to do it, if you don't feel comfortable reaching out to a support engineer, just simply filing it on our GitHub. And we'll answer it as quickly as we can. And we'll have the conversations that we need. Otherwise, you can also check out on our website, we actually have a Gitter chat room that you can join. So if, for some reason, you think there's something wrong with the code, we're also watching this Gitter as well. I'm watching the conversations and responding back as quickly as possible. And another way, if, let's say, you don't like to have instant messaging, you can also leave us a discuss comment at the bottom of the page, and we also look at that. So it sounds like you guys are monitoring typical breath channels, second-world flow forums. You've got your issues in GitHub. You've got your support number. People can call the traditional Microsoft CTS customer technical support number. And you're even watching comments on the bottom of the pages. That's awesome. You're everywhere. Cool. All right, so is that all you're going to show for you? Yeah, that's what I'm going to show today. So just the overview, open source GBC driver, you can now access everything through the Maven central repository. And that's the biggest things that we've been kind of adding towards, making sure that Java developers can use SQL Server. Cool, all right. Well, we'll get Meet back on, and we'll get into the next demo. Sounds good. Thank you. We'll get right back. All right, we're back, and we've got our next demo. What can I need? Thank you. You were hiding in the back there. I was, yeah, I was, like. Almost knocked over the camera, that's worth saying. A couple times, yeah. All right, so what are you going to show us? So, similar to what Andrea showed for Java, we've been making a lot of improvements on the PHP front. Our PHP driver is also on GitHub. It's fully open sourced. And we recently added a couple of really cool things. So we now support Linux, which we didn't use to before. Approximately two months ago, we support the Boon 2.15.04, 15.10, and 16.04. And we support Red Hat 6 and Red Hat 7. And we also created Peckle packages. So at Peckle, it's kind of like Maven. It's a package manager that lets you install PHP packages directly linking it to the runtime. So you don't have to get an SO file, put it somewhere, things like that. So you just build it from source, link it to PHP, and PHP knows where to read it from. So that's kind of the NPM or the apt-get of the PHP world. So in my demo, I'm just really going to quickly try to install the driver on my fresh Boon 2.0 box, run a sample code, and see if you can run some queries and see if the VS Code extension can pick it up. All right, let's do it. All right, so I'll jump right into the demo. So I'm going to use the same website that we have. We've already set up the environment, so I'm going to go ahead and skip that step. I'm going to go straight to creating the PHP application. So let's see. First things, what we need to do is we need to add the ODBC driver. So the way our PHP driver works, that it sits on top of the ODBC driver, because ODBC driver is typically more performant. It knows how to talk to SQL. It has all the cool, rich features. So we're really going to go ahead and add the driver. Yeah, it's one of our oldest drivers, right? It is one of our oldest drivers, and that is also available on Linux now. Awesome, yeah. Yeah, we have a number that's drawing the grid of which drivers support which operating systems, and where we can make all this stuff work. It's awesome. All right, so I'm going to go ahead and add the repository. And then we're going to make sure we have the keys set up. As you can see, I'm literally copy pasting from the website. Yeah, the real instructions that do work. Yes. Give it a couple of seconds. There you go. And we just run an update to make sure our repository list is updated with the recent one that we just added. And then all you need to do is apt-get install MSODBC SQL and UNIXODBC, and that's essentially it in terms of the prerequisites. It's going to ask you, okay, yes. All right, seems like our ODBC driver was installed, and next we'll install the PHP connector. Our driver, as people like to call it. All we'll be doing here is just peckle install SQLServe. The version I'm going to use today is 4.0.7 and pdo underscore SQLServe 4.0.7. They both complement each other. Pdo is kind of an object-oriented form that's linked to PHP. So we recommend you to use whichever one you're more comfortable with, but we have a story for both. So it's absolutely up to you. They can exist side by side. Cool. So I'm going to just install both. Oh, seems like we don't have peckle installed. So let's make sure we do get that. Instructions to do that are also on our website. So you just go ahead and copy. The dependency for the dependency. Yeah, we actually didn't install PHP. It's my bad. No problem. All right. We're showing real world approaches. Exactly, yes. Our demos have to fail these ones. So it'll take a few seconds while that's installing. I'll talk about the application we're going to show you today. So similar to what we showed on Java, this is a PHP script. Very simple. You can run it using Apache on the browser or you can run it from command line. I'm just going to run it through VS Code trying to just show the end to end story there. Cool. Yeah, let's do that. We have to get the change of password this time. I will not. I will not forget that. We learned that in the last demo. And what you're going to do is you're going to insert a new row into the tables. We're going to insert Jake, update Nikita's location and delete Jared from our table. And we're going to use the same employees table. We're going to spice things up a little. We're going to create a new schema. And we're going to use the VS Code tool, the MS SQL extension, to do all of this. Kind of just to show you can do more than just selects. You can actually do everything a regular tool would be able to do. I mean, I think VS Code is a certain kind of editor, a certain kind of tool, right? It's not Visual Studio. It's not SQL Server Management Studio. It's an editor, a code editor. But even in that state, right, of limitations by design, we have quite a bit of features in the SQL preview of the tools. Exactly. It's very powerful. Yeah. All right. So I'm just going to go ahead and run the script, which will create the schema for us. And you're connected to the shows in the bottom right. So you're still connected to the same SQL as before? Absolutely. So as you can see, I'm connected to local host, the SQL Server that we just installed, using sample DB and the SA user name. So I'm going to go ahead and right click, execute query. All right. There you go. So we just created a new table with a schema, so test key, moderate employees, and we have three employees there. As you can see, we have Jared, Nikita, and Tom. Now, let's go back to our website and see what's next. So as you can see, we've never installed our driver. Yep. So let's go ahead and... I think the server is missing. Yes. So copy that. All right. So downloaded our source code. Now it's going to do a bunch of build work and it's going to do a bunch of linking work, as you can see. It'll take about five to 10 seconds, typically. I used to program in PHP a long time ago. It was one of my, I would say maybe like my third project in my life that I was given. I started with like ASP, classic ASP, back in the day. We just had this PHP project that was just sitting there and needed some maintenance work and I was like, how could it be? It took me a bit. I was able to patch up their site, but PHP is quite a, I would say, I had a pleasant experience. I think it's some people, you know, languages are religious. It's one of those languages that either you love it or you hate it. I came away with a fine kind of experience. Cool. So as you can see, it says build process completed successfully, install okay, and now it's telling us to add our extension to the ine file. That's important because PHP needs to know that he's just added these extensions and it needs to load it. So the instructions to do that are also on our websites. I'm just going to copy these. Let's see, copy them one by one. All right, so we added it to a couple of our ine files and then we have two variants. So we have to do it twice. All right, so as you can see, we have four echo statements. It's all it's saying, add this extension to my PHP folder, php.ine file, and you can confirm that you actually have PHP installed by running PHP minus V. As you can see, we're running V7.0.8 and that's the one where we added the driver. And we're pretty much set to run our first application now, so if I scroll down further. So you're just going to grab the code like? Literally, yes. I'm going to go ahead and... Where's the copy button? There you go. Go ahead and copy that code and paste it here. And I also have the PHP extension for VS Code here. I guess it's not picking it up because there's no file extension or something. Yeah, I got to save it as something. So I'm going to use the same folder Andrea had. I'm just going to call it sample.php. All right, there you go. So it picked up the colors and things like that. Let's see if we can go ahead and run this right now. All right, there you go. It says, I inserted one new row, updated the location for Nikita, deleted Jared, read the data and now we have three rows. Let's go ahead back to our VS Code extension for SQL and see if it actually works. So I'm going to run the select query. And there you go. So Nikita now lives in Sweden. Jared is no longer in the table because we deleted him and you have Tom and Jake. And that pretty much sums it up as you can... Is Jared wearing a red shirt? Is that why we're getting rid of him every time? I think so. Yeah, it seems like it. When we were working on the website, we were like, okay, we have four names here. Who should we be deleting? Can somebody has to die in their way mission? That's the rule. Yeah, poor Jared. He took the brand there. But yeah, as you can see, in a matter of minutes, I would say you got the PHP driver. It's dependencies. You installed PHP from the go, because we didn't have it. Ran a simple app, did a few queries and verified the results using the VS Code extension. Similar to the JDBC project, the PHP project is also open source. So let's just search for MSPHB SQL. All right, bingo. So this is our GitHub project. You can come to our issues tab and go ahead and just file an issue. As you can see, we very closely monitor it. We've had a bunch of issues closed, a bunch open. If you have any questions, just go ahead and hit the new issue button. Leave us a comment. We also send a bunch of surveys here, kind of just asking, hey, what features do you guys want? So we sent one out recently and people are like, I want to always encrypt it. So we're gonna start building that in the next few months. I'm not surprised there. It's a good feature. Yeah, that's a good feature. So that's one of the cool features that we're adding. Kind of just making sure all our drivers are at par with the best features, the hero features. But yeah, it's pretty cool driver. If you have any other questions, feel free to leave us an issue. Or as Andrea said, join our chat room. We monitor that pretty actively as well. Cool. Well, I think the big takeaway here is, look, we are very serious about our connector story. We want to enable all these languages and frameworks to connect. We're committed to supporting them. So if you have mission critical stuff, call our CTS number if you have issues and then if you have suggestions, if you want to submit some code changes, we've got a lot of places. Absolutely. We have a whole list of places too. Totally. Yeah, we're all about embracing cross-platform open source and making sure the developers succeed in what they want to do with SQL. Because that's one of the places where we've typically been known to not be that friendly and we're trying to change that right now. Yeah, it's a home in Microsoft and SQL is part of that. So it's really awesome. Yeah. Cool. Did you want to show anything else? No, that's pretty much it. I guess to just end it up, if you guys have any questions, you can email Andrea or me, our email addresses, andrella at microsoft.com and meet me at microsoft.com or you can even tweet at us, our Twitter handles are up on the screen. Just a few call to actions. Please check out our developer tutorials. As you can see, they're end to end. You'll be literally be able to install SQL on Mac, Windows, or Linux, get the connectors, run simple examples, and try out a cool feature, which is Column Store. Pretty cool. Go to repositories, file issues, make us work, make us on our paycheck, I would say. And that's pretty much it. Thank you all for listening. All right, well, I appreciate you coming on and I hope folks enjoyed this episode. We're gonna have more episodes in SQL. We have one coming up where we're gonna look at yes, code a bit deeper. So Eric's gonna come back on probably. And if you have things you wanna see or talk about, put it in the comments. We're always ready to go and respond to your feedback. And I'll make sure all these emails and slide links are in the show notes as well. So thank you very much for coming on. Thank you. Andrea's hiding in the back there. Thank you for being on there and we'll see you guys next time on Visual Studio Toolbox. All right, thank you guys. Thank you.