0

私はそれについて少し問題があります。VS2012 でスクリプトを作成すると、次のようになります (データベース名: LSProjeDB で、Musteri というテーブルがあります) (そのように作成: go table > update>genarete script >wow)

GO SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;
GO
:setvar DatabaseName "C:\USERS\YC\DOCUMENTS\LSPROJEDB.MDF"
:setvar DefaultFilePrefix "C_\USERS\YC\DOCUMENTS\LSPROJEDB.MDF_"
:setvar DefaultDataPath "C:\Users\YC\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0\"
:setvar DefaultLogPath "C:\Users\YC\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0\"
GO
:on error exit
GO

/*
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
To re-enable the script after enabling SQLCMD mode, execute the following:
SET NOEXEC OFF; 
*/


:setvar __IsSqlCmdEnabled "True"
GO
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
    BEGIN
        PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
        SET NOEXEC ON;
    END
GO
USE [$(DatabaseName)];
GO
PRINT N'Update complete.'
GO

しかし、それは間違っているようです!! そして私はそのC#コードを使用しました:

 string str = "DataSource=(local);Initial Catalog=DatabaseName ;Integrated Security=True";
        FileInfo file = new FileInfo("D:\\SQLQuery2.sql");
        string script = file.OpenText().ReadToEnd();
        SqlConnection conn = new SqlConnection(str);
        Server server = new Server(new ServerConnection(conn));
        server.ConnectionContext.ExecuteNonQuery(script);

そして私は得た:

ArgumentException は処理されません! サポートされていないキーワード: 'datasource'。

4

1 に答える 1

3

DataSource <-- Data と Source の間にスペースがありません

"Data Source=(local);Initial Catalog=DatabaseName;Integrated Security=True;";
于 2012-12-07T13:51:13.187 に答える