Cannot connect to SQL Server via VB.net but I can login to the server from SSMS with the same cridentials
I'm working on an application in VB which has to connect to a SQL Server 2014 Express database with the following info:
DBName: testDB
DBHost: USER-PCSQLEXPRESS
DBUser: testuser
DBPass: testpass
and the following code to make the connection:
Public Shared Sub connect(DBName As String, DBHost As String, DBUser As String, DBPass As String)
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder()
builder.DataSource = DBHost
builder.UserID = DBUser
builder.Password = DBPass
builder.InitialCatalog = DBName
connection = New SqlConnection(builder.ConnectionString)
connection.Open()
End Sub
I'm able to login normally with this information (using SSMS) but not with the code here. Now I know that this code works as I've used it on a different machine where it worked fine. In both cases the server is hosted locally. I've enabled all protocols in the Network Configuration but I'm still not able to login via this code. Also I set the login to also work with SQL login.
I'm printing the exception it gives me and it sais
Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
Why does it allow me to login via SSMS and not via my program?
sql-server vb.net sql-server-2014
|
show 4 more comments
I'm working on an application in VB which has to connect to a SQL Server 2014 Express database with the following info:
DBName: testDB
DBHost: USER-PCSQLEXPRESS
DBUser: testuser
DBPass: testpass
and the following code to make the connection:
Public Shared Sub connect(DBName As String, DBHost As String, DBUser As String, DBPass As String)
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder()
builder.DataSource = DBHost
builder.UserID = DBUser
builder.Password = DBPass
builder.InitialCatalog = DBName
connection = New SqlConnection(builder.ConnectionString)
connection.Open()
End Sub
I'm able to login normally with this information (using SSMS) but not with the code here. Now I know that this code works as I've used it on a different machine where it worked fine. In both cases the server is hosted locally. I've enabled all protocols in the Network Configuration but I'm still not able to login via this code. Also I set the login to also work with SQL login.
I'm printing the exception it gives me and it sais
Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
Why does it allow me to login via SSMS and not via my program?
sql-server vb.net sql-server-2014
What do the logs in SQL Server say? Can you see the connection?
– Larnu
Nov 22 '18 at 19:25
@Larnu I got the log file and found a whole bunch of these:11/22/2018 19:17:21,Logon,Unknown,Login failed for user 'testuser'. Reason: Failed to open the explicitly specified database 'TestDB'. [CLIENT: <local machine>]
I guess this is from my testing to login from the program itself..
– BRHSM
Nov 22 '18 at 19:29
Does that database (TestDB) exist? Does that user (TestUser) have access to the database? You say you can logon with SSMS -- can you execute the commandUSE TestDB;
in SSMS without error using those credentials?
– Dave Cullum
Nov 22 '18 at 19:32
1
Try to vary this row:Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=SSPI;")
ORDim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=true;")
– StepUp
Nov 22 '18 at 19:35
1
@StepUp It works! But I'm wondering how I was able to connect to the DB with the same code on a different machine with the same setup?
– BRHSM
Nov 22 '18 at 20:13
|
show 4 more comments
I'm working on an application in VB which has to connect to a SQL Server 2014 Express database with the following info:
DBName: testDB
DBHost: USER-PCSQLEXPRESS
DBUser: testuser
DBPass: testpass
and the following code to make the connection:
Public Shared Sub connect(DBName As String, DBHost As String, DBUser As String, DBPass As String)
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder()
builder.DataSource = DBHost
builder.UserID = DBUser
builder.Password = DBPass
builder.InitialCatalog = DBName
connection = New SqlConnection(builder.ConnectionString)
connection.Open()
End Sub
I'm able to login normally with this information (using SSMS) but not with the code here. Now I know that this code works as I've used it on a different machine where it worked fine. In both cases the server is hosted locally. I've enabled all protocols in the Network Configuration but I'm still not able to login via this code. Also I set the login to also work with SQL login.
I'm printing the exception it gives me and it sais
Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
Why does it allow me to login via SSMS and not via my program?
sql-server vb.net sql-server-2014
I'm working on an application in VB which has to connect to a SQL Server 2014 Express database with the following info:
DBName: testDB
DBHost: USER-PCSQLEXPRESS
DBUser: testuser
DBPass: testpass
and the following code to make the connection:
Public Shared Sub connect(DBName As String, DBHost As String, DBUser As String, DBPass As String)
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder()
builder.DataSource = DBHost
builder.UserID = DBUser
builder.Password = DBPass
builder.InitialCatalog = DBName
connection = New SqlConnection(builder.ConnectionString)
connection.Open()
End Sub
I'm able to login normally with this information (using SSMS) but not with the code here. Now I know that this code works as I've used it on a different machine where it worked fine. In both cases the server is hosted locally. I've enabled all protocols in the Network Configuration but I'm still not able to login via this code. Also I set the login to also work with SQL login.
I'm printing the exception it gives me and it sais
Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
Why does it allow me to login via SSMS and not via my program?
sql-server vb.net sql-server-2014
sql-server vb.net sql-server-2014
edited Nov 22 '18 at 19:33
marc_s
580k13011191266
580k13011191266
asked Nov 22 '18 at 19:20
BRHSMBRHSM
2822529
2822529
What do the logs in SQL Server say? Can you see the connection?
– Larnu
Nov 22 '18 at 19:25
@Larnu I got the log file and found a whole bunch of these:11/22/2018 19:17:21,Logon,Unknown,Login failed for user 'testuser'. Reason: Failed to open the explicitly specified database 'TestDB'. [CLIENT: <local machine>]
I guess this is from my testing to login from the program itself..
– BRHSM
Nov 22 '18 at 19:29
Does that database (TestDB) exist? Does that user (TestUser) have access to the database? You say you can logon with SSMS -- can you execute the commandUSE TestDB;
in SSMS without error using those credentials?
– Dave Cullum
Nov 22 '18 at 19:32
1
Try to vary this row:Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=SSPI;")
ORDim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=true;")
– StepUp
Nov 22 '18 at 19:35
1
@StepUp It works! But I'm wondering how I was able to connect to the DB with the same code on a different machine with the same setup?
– BRHSM
Nov 22 '18 at 20:13
|
show 4 more comments
What do the logs in SQL Server say? Can you see the connection?
– Larnu
Nov 22 '18 at 19:25
@Larnu I got the log file and found a whole bunch of these:11/22/2018 19:17:21,Logon,Unknown,Login failed for user 'testuser'. Reason: Failed to open the explicitly specified database 'TestDB'. [CLIENT: <local machine>]
I guess this is from my testing to login from the program itself..
– BRHSM
Nov 22 '18 at 19:29
Does that database (TestDB) exist? Does that user (TestUser) have access to the database? You say you can logon with SSMS -- can you execute the commandUSE TestDB;
in SSMS without error using those credentials?
– Dave Cullum
Nov 22 '18 at 19:32
1
Try to vary this row:Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=SSPI;")
ORDim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=true;")
– StepUp
Nov 22 '18 at 19:35
1
@StepUp It works! But I'm wondering how I was able to connect to the DB with the same code on a different machine with the same setup?
– BRHSM
Nov 22 '18 at 20:13
What do the logs in SQL Server say? Can you see the connection?
– Larnu
Nov 22 '18 at 19:25
What do the logs in SQL Server say? Can you see the connection?
– Larnu
Nov 22 '18 at 19:25
@Larnu I got the log file and found a whole bunch of these:
11/22/2018 19:17:21,Logon,Unknown,Login failed for user 'testuser'. Reason: Failed to open the explicitly specified database 'TestDB'. [CLIENT: <local machine>]
I guess this is from my testing to login from the program itself..– BRHSM
Nov 22 '18 at 19:29
@Larnu I got the log file and found a whole bunch of these:
11/22/2018 19:17:21,Logon,Unknown,Login failed for user 'testuser'. Reason: Failed to open the explicitly specified database 'TestDB'. [CLIENT: <local machine>]
I guess this is from my testing to login from the program itself..– BRHSM
Nov 22 '18 at 19:29
Does that database (TestDB) exist? Does that user (TestUser) have access to the database? You say you can logon with SSMS -- can you execute the command
USE TestDB;
in SSMS without error using those credentials?– Dave Cullum
Nov 22 '18 at 19:32
Does that database (TestDB) exist? Does that user (TestUser) have access to the database? You say you can logon with SSMS -- can you execute the command
USE TestDB;
in SSMS without error using those credentials?– Dave Cullum
Nov 22 '18 at 19:32
1
1
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=SSPI;")
OR Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=true;")
– StepUp
Nov 22 '18 at 19:35
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=SSPI;")
OR Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=true;")
– StepUp
Nov 22 '18 at 19:35
1
1
@StepUp It works! But I'm wondering how I was able to connect to the DB with the same code on a different machine with the same setup?
– BRHSM
Nov 22 '18 at 20:13
@StepUp It works! But I'm wondering how I was able to connect to the DB with the same code on a different machine with the same setup?
– BRHSM
Nov 22 '18 at 20:13
|
show 4 more comments
1 Answer
1
active
oldest
votes
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=SSPI;")
OR
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=true;")
What this means:
Integrated Security = False
: User ID and Password are specified in the connection.
Integrated Security = true
: the current Windows account credentials are used for authentication. However, be carefully it does not work in all SQL providers. It will throw an exception with OleDb
provider.
Integrated Security = SSPI
: this is equivalent to true, but it works with SQL Client
and OleDb
providers.
Please, see connection strings at MSDN.
Your error Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
means:
- you've written incorrect login or user of database
TestDB
- user
testuser
does not exist in your database
Run to see whether testuser
exists in your database:
USE YourDatabase
SELECT * FROM sysusers
In addition, be sure that you've set a correct password of database user.
Update by Nick.McDermaid:
I was able to detirmine that I need to grand acess to the database for that user!
1
Thanks for the info. i was able to detirmine that I need to grand acess to the database for that user!
– BRHSM
Nov 23 '18 at 7:23
1
..as I said in my comment. The answer is not to change the authentication type, it is to grant the user access.
– Nick.McDermaid
Nov 26 '18 at 4:42
@Nick.McDermaid yeah, you are right! I've updated my answer. If you want to make an answer, feel free to do it as you were the first.
– StepUp
Nov 26 '18 at 7:44
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53437000%2fcannot-connect-to-sql-server-via-vb-net-but-i-can-login-to-the-server-from-ssms%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=SSPI;")
OR
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=true;")
What this means:
Integrated Security = False
: User ID and Password are specified in the connection.
Integrated Security = true
: the current Windows account credentials are used for authentication. However, be carefully it does not work in all SQL providers. It will throw an exception with OleDb
provider.
Integrated Security = SSPI
: this is equivalent to true, but it works with SQL Client
and OleDb
providers.
Please, see connection strings at MSDN.
Your error Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
means:
- you've written incorrect login or user of database
TestDB
- user
testuser
does not exist in your database
Run to see whether testuser
exists in your database:
USE YourDatabase
SELECT * FROM sysusers
In addition, be sure that you've set a correct password of database user.
Update by Nick.McDermaid:
I was able to detirmine that I need to grand acess to the database for that user!
1
Thanks for the info. i was able to detirmine that I need to grand acess to the database for that user!
– BRHSM
Nov 23 '18 at 7:23
1
..as I said in my comment. The answer is not to change the authentication type, it is to grant the user access.
– Nick.McDermaid
Nov 26 '18 at 4:42
@Nick.McDermaid yeah, you are right! I've updated my answer. If you want to make an answer, feel free to do it as you were the first.
– StepUp
Nov 26 '18 at 7:44
add a comment |
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=SSPI;")
OR
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=true;")
What this means:
Integrated Security = False
: User ID and Password are specified in the connection.
Integrated Security = true
: the current Windows account credentials are used for authentication. However, be carefully it does not work in all SQL providers. It will throw an exception with OleDb
provider.
Integrated Security = SSPI
: this is equivalent to true, but it works with SQL Client
and OleDb
providers.
Please, see connection strings at MSDN.
Your error Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
means:
- you've written incorrect login or user of database
TestDB
- user
testuser
does not exist in your database
Run to see whether testuser
exists in your database:
USE YourDatabase
SELECT * FROM sysusers
In addition, be sure that you've set a correct password of database user.
Update by Nick.McDermaid:
I was able to detirmine that I need to grand acess to the database for that user!
1
Thanks for the info. i was able to detirmine that I need to grand acess to the database for that user!
– BRHSM
Nov 23 '18 at 7:23
1
..as I said in my comment. The answer is not to change the authentication type, it is to grant the user access.
– Nick.McDermaid
Nov 26 '18 at 4:42
@Nick.McDermaid yeah, you are right! I've updated my answer. If you want to make an answer, feel free to do it as you were the first.
– StepUp
Nov 26 '18 at 7:44
add a comment |
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=SSPI;")
OR
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=true;")
What this means:
Integrated Security = False
: User ID and Password are specified in the connection.
Integrated Security = true
: the current Windows account credentials are used for authentication. However, be carefully it does not work in all SQL providers. It will throw an exception with OleDb
provider.
Integrated Security = SSPI
: this is equivalent to true, but it works with SQL Client
and OleDb
providers.
Please, see connection strings at MSDN.
Your error Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
means:
- you've written incorrect login or user of database
TestDB
- user
testuser
does not exist in your database
Run to see whether testuser
exists in your database:
USE YourDatabase
SELECT * FROM sysusers
In addition, be sure that you've set a correct password of database user.
Update by Nick.McDermaid:
I was able to detirmine that I need to grand acess to the database for that user!
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=SSPI;")
OR
Dim builder As SqlConnectionStringBuilder = New
SqlConnectionStringBuilder("Integrated Security=true;")
What this means:
Integrated Security = False
: User ID and Password are specified in the connection.
Integrated Security = true
: the current Windows account credentials are used for authentication. However, be carefully it does not work in all SQL providers. It will throw an exception with OleDb
provider.
Integrated Security = SSPI
: this is equivalent to true, but it works with SQL Client
and OleDb
providers.
Please, see connection strings at MSDN.
Your error Cannot open database "TestDB" requested by the login. The login failed. Login failed for user 'testuser'.
means:
- you've written incorrect login or user of database
TestDB
- user
testuser
does not exist in your database
Run to see whether testuser
exists in your database:
USE YourDatabase
SELECT * FROM sysusers
In addition, be sure that you've set a correct password of database user.
Update by Nick.McDermaid:
I was able to detirmine that I need to grand acess to the database for that user!
edited Nov 26 '18 at 7:41
answered Nov 23 '18 at 7:18
StepUpStepUp
8,28284475
8,28284475
1
Thanks for the info. i was able to detirmine that I need to grand acess to the database for that user!
– BRHSM
Nov 23 '18 at 7:23
1
..as I said in my comment. The answer is not to change the authentication type, it is to grant the user access.
– Nick.McDermaid
Nov 26 '18 at 4:42
@Nick.McDermaid yeah, you are right! I've updated my answer. If you want to make an answer, feel free to do it as you were the first.
– StepUp
Nov 26 '18 at 7:44
add a comment |
1
Thanks for the info. i was able to detirmine that I need to grand acess to the database for that user!
– BRHSM
Nov 23 '18 at 7:23
1
..as I said in my comment. The answer is not to change the authentication type, it is to grant the user access.
– Nick.McDermaid
Nov 26 '18 at 4:42
@Nick.McDermaid yeah, you are right! I've updated my answer. If you want to make an answer, feel free to do it as you were the first.
– StepUp
Nov 26 '18 at 7:44
1
1
Thanks for the info. i was able to detirmine that I need to grand acess to the database for that user!
– BRHSM
Nov 23 '18 at 7:23
Thanks for the info. i was able to detirmine that I need to grand acess to the database for that user!
– BRHSM
Nov 23 '18 at 7:23
1
1
..as I said in my comment. The answer is not to change the authentication type, it is to grant the user access.
– Nick.McDermaid
Nov 26 '18 at 4:42
..as I said in my comment. The answer is not to change the authentication type, it is to grant the user access.
– Nick.McDermaid
Nov 26 '18 at 4:42
@Nick.McDermaid yeah, you are right! I've updated my answer. If you want to make an answer, feel free to do it as you were the first.
– StepUp
Nov 26 '18 at 7:44
@Nick.McDermaid yeah, you are right! I've updated my answer. If you want to make an answer, feel free to do it as you were the first.
– StepUp
Nov 26 '18 at 7:44
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53437000%2fcannot-connect-to-sql-server-via-vb-net-but-i-can-login-to-the-server-from-ssms%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What do the logs in SQL Server say? Can you see the connection?
– Larnu
Nov 22 '18 at 19:25
@Larnu I got the log file and found a whole bunch of these:
11/22/2018 19:17:21,Logon,Unknown,Login failed for user 'testuser'. Reason: Failed to open the explicitly specified database 'TestDB'. [CLIENT: <local machine>]
I guess this is from my testing to login from the program itself..– BRHSM
Nov 22 '18 at 19:29
Does that database (TestDB) exist? Does that user (TestUser) have access to the database? You say you can logon with SSMS -- can you execute the command
USE TestDB;
in SSMS without error using those credentials?– Dave Cullum
Nov 22 '18 at 19:32
1
Try to vary this row:
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=SSPI;")
ORDim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder("Integrated Security=true;")
– StepUp
Nov 22 '18 at 19:35
1
@StepUp It works! But I'm wondering how I was able to connect to the DB with the same code on a different machine with the same setup?
– BRHSM
Nov 22 '18 at 20:13