noob_noob Ответов: 2

Ключевое слово:"провайдер" не поддерживается?


Привет! Я разрабатываю систему массового обслуживания с использованием vb.net и я изменил свою базу данных с ms access на sql server 2014, после того как я изменил строку подключения и отладил свою программу, появилось окно ошибки с надписью "Ключевое слово:"поставщик" не поддерживается". я не знаю, как и что я должен сделать, чтобы моя программа сохраняла данные в моей базе данных sql. Каков правильный синтаксис кода для этой программы? Спасибо!

Что я уже пробовал:

Imports System.Data.SqlClient



Dim sqlconn As New SqlConnection
       Dim sqlquery As New SqlCommand
       Dim connString As String
       Try
           connString = "Provider=SQLNCLI11;Data Source=MISKRISTIAN-PC\HMO_OPD;Integrated Security=SSPI;Initial Catalog=HMO_OPD_QUEUE"
           sqlconn.ConnectionString = connString
           sqlquery.Connection = sqlconn
           sqlconn.Open()
           sqlquery.CommandText = "INSERT INTO Query1([Number])VALUES(@Number)"
           sqlquery.Parameters.AddWithValue("@Number", NumApp.Text)
           sqlquery.ExecuteNonQuery()
           sqlconn.Close()
       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try

2 Ответов

Рейтинг:
0

OriginalGriff

SQL не поддерживает ключевое слово "Provider" - удалите его до первой точки с запятой включительно, и оно должно работать.

Но сделайте себе одолжение и никогда не используйте жесткие строки подключения. Количество мест, которые вы должны изменить, когда выпускаете его в производство, смехотворно и обычно означает, что ваш код не тестируется должным образом, когда вы его публикуете. Используйте файл конфигурации или посмотрите это: Хранилище экземпляров - простой способ обмена конфигурационными данными между приложениями[^]


Maciej Los

Есть еще одна "обратная сторона медали" ;)

noob_noob

Привет! есть ли какой-нибудь способ преобразовать мой код в совместимый для sql server?

OriginalGriff

И я цитирую: "SQL не поддерживает ключевое слово" Provider "- удалите его до первой точки с запятой включительно, и оно должно работать".

Рейтинг:
0

Maciej Los

Почему вы используете поставщик OLE DB для собственного клиента SQL Server 11.0? Заметить что "OLE DB и ODBC не поддерживают некоторые новые функции в SQL Server 2005 и более поздних версиях. Управляемые поставщики .Net так и делают. Собственный клиент SQL можно рассматривать как решение для получения доступа к новым функциям SQL Server из собственного (не .Net) кода. Нет никаких других преимуществ от его использования." Видеть: Когда использовать собственный клиент SQL[^]

Я бы настоятельно рекомендовал использовать поставщик данных .NET Framework для SQL Server. Видеть: Строки подключения SQL Server - ConnectionStrings.com[^]