【问题标题】:Invalid Connection String on .Net Teradata connection.Net Teradata 连接上的连接字符串无效
【发布时间】:2017-12-14 21:47:20
【问题描述】:

我正在尝试使用 .Net 与以下代码连接 Teradata。

但是当我执行它时,它会抛出一个错误,指出 无效的连接字符串

TdDataAdapter adapter = new TdDataAdapter(cn.ConnectionString,cmd.CommandText);

这是完整的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Teradata.Client.Provider;
using System.Data;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TdConnectionStringBuilder connectionStringBuilder = new TdConnectionStringBuilder();
        connectionStringBuilder.DataSource = "URK";
        connectionStringBuilder.Database = "DB";
        connectionStringBuilder.UserId = "USERNAME";
        connectionStringBuilder.Password = "PASSWORD";
        connectionStringBuilder.AuthenticationMechanism = "LDAP";

        TdConnection cn = new TdConnection();
        cn.ConnectionString = connectionStringBuilder.ConnectionString;
        cn.Open();

        TdCommand cmd = new TdCommand("EXEC MACRONAME", cn);
        TdDataReader reader = cmd.ExecuteReader();
        TdDataAdapter adapter = new TdDataAdapter(cn.ConnectionString,cmd.CommandText);
        DataSet ds = new DataSet();
        adapter.Fill(ds);

        myLabel.Text= ds.Tables[0].Rows[0]["event_id"].ToString();

        cmd.Dispose();
        cn.Close();
    }
}

我尝试使用connectionStringBuilder.ConnectionString 而不是上面使用的那个,但我仍然遇到同样的错误。

【问题讨论】:

    标签: c# asp.net .net teradata


    【解决方案1】:

    只是交换参数

    TdDataAdapter adapter = new TdDataAdapter(cmd.CommandText, cn.ConnectionString);
    

    根据TdDataAdapter构造函数的签名

    public TdDataAdapter( 
       string commandText,
       string connectionString
    )
    

    docs

    【讨论】:

    猜你喜欢
    • 2011-06-04
    • 2019-07-10
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    相关资源
    最近更新 更多