2015-07-04 3 views
1

Я создал код, который автоматически создает базу данных в папке, где выполняется программное обеспечение. DB был создан успешным, но когда я создаю объект для подключения отображается это исключение:Не удается создать соединение с sqlite DB

System.Data.SqlClient.SqlException (0x80131904): There was a network error or specific instance while trying to establish a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) ---> System.ComponentModel.Win32Exception (0x80004005): Can not find the file specified

на этой линии:

con.Open(); 

но проблема, я думаю, что на этой декларации связи :

Что я делаю неправильно?

UPDATE Деталь:

SqlCommand command = new SqlCommand(@"INSERT INTO Team (name,code, shortName, squadMarketValue, 
       crestUrl, link_self, link_fixtures, link_players, caption) VALUES (@name, 
       @code,@shortName,@squadMarketValue,@crestUrl,@link_self,@link_fixtures, 
       @link_players,@caption)", con); 

Как вы можете видеть, я использую parametizer запрос, и если я использую этот объект:

static SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=SoccerForecast.sqlite;Version=3;"); 

переменной con указываются в красном, компиляторах скажите мне:

it is not possible to convert SqliteConnection in SqlConnection

+0

Какая у вас СУБД? – kmatyaszek

+0

Сообщение - ваш ответ. Вы пытаетесь подключиться к SQL Server (Microsoft). Вам нужен соединитель SQLite. См. Здесь: http://stackoverflow.com/questions/3718362/how-can-i-access-sqlite-with-c – Jauch

+0

Я обновил вопрос, я хочу установить соединение с моей базой sqlite –

ответ

2

Ваша связь неверна. Вы не указали тип базы данных, к которой вы пытаетесь подключиться, в своем вопросе. В SQLite есть упоминание о том, что вы используете объект соединения sql. Объект соединения sql предназначен для подключения к базе данных ms sql server. Если вы действительно хотите подключиться к базе данных ms sql server, вам нужно будет изменить строку подключения, чтобы указать имя пользователя/пароль или Trusted_Connection=True, чтобы использовать учетную запись Windows.

Однако, если база данных, к которой вы пытаетесь подключиться, является SQLite DB, вам придется использовать другой объект соединения. This и this SO question есть ответы о доступных библиотеках и примерах, которые объяснят, как создать соединение с базой данных SQLite.

Сайт connectionstring.com также является хорошим ресурсом, когда вам нужно создать строку соединения.

+0

Я хочу установить соединение с базой данных локально на моем компьютере, мой db находится в расширении .sqlite. –

+0

. Тогда вам понадобится использовать sqlite-соединитель с строкой соединения sqlite. SqlConnection - это родной клиент ms sql, который не будет работать с другой БД. –

+0

Я обновил вопрос. Я не знаю, как использовать параметризованный запрос, потому что если я выполняю это: command.Parameters.Add («@ name», DbType.String) .Value = item.name; Я получаю запрос с ошибкой. –

Смежные вопросы