Tag: odbc

什么是ConnectionString为访问mdb文件创建OdbcConnection

我想使用Odbc从c#连接到Access MDB文件。 当我尝试执行时 OdbcConnection con = new OdbcConnection( “Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\\temp\\test.mdb;”); 我得到以下exception: exc {System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle) at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at […]

ODBC必须声明标量变量

考虑以下代码: string ConnectionString = “dsn=mysql;uid=sa;DATABASE=userdb;”; string qryStr = “insert into info(code) values(@code);”; OdbcConnection con = new OdbcConnection(ConnectionString); OdbcCommand cmd = new OdbcCommand(qryStr,con ); cmd.Parameters.Add(“@code”, System.Data.Odbc.OdbcType.Int).Value = “999”; cmd.Connection.Open(); OdbcDataReader odbcdtr = cmd.ExecuteReader();//exception “must declare the scalar variable @code” con.Close; 此代码引发exception“必须声明标量可变@code”。 如果有人能指出上面代码中的错误,我将非常感激。

在ODBC连接中打开多个结果集到SQL Server

我有一个最初需要连接到Sybase(通过ODBC)的应用程序,但我还需要添加连接到SQL Server的function。 由于ODBC应该能够处理两者,我认为我处于有利位置。 不幸的是,默认情况下,SQL Server不会让我嵌套ODBC命令和ODBCDataReaders – 它会抱怨连接繁忙(连接忙于另一个命令的结果)。 我知道在通过本机驱动程序连接到SQL Server时,我必须指定在类似情况下允许多个活动结果集(MARS),所以我认为这不是问题。 创建SystemDSN时,DSN向导无需任何操作。 有些人提供了注册表黑客来解决这个问题,但这不起作用(向HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBC.INI \ system-dsn-name添加值为Yes的MARS_Connection)。 另一个建议是创建一个文件-dsn,并为其添加“MARS_Connection = YES”。 没工作。 最后,一个无DSN的连接字符串。 我尝试过这个(使用MultipleActiveResultSets – 与Sql Server连接使用的变量相同), “Driver={SQL Native Client};Server=xxx.xxx.xxx.xxx;Database=someDB;Uid=u;Pwd=p;MultipleActiveResultSets=True;” 还有这个: “Driver={SQL Native Client};Server=192.168.75.33\\ARIA;Database=Aria;Uid=sa;Pwd=service;MARS_Connection=YES;” 我检查了各种连接字符串网站 – 他们都建议我已经尝试过。 我应该声明我已经尝试过SQL Server驱动程序和SQL Server本机驱动程序……

SQL0666 – SQL查询超出指定的时间限制或存储限制

我在使用Odbc连接字符串调用DB2数据库时会定期收到此错误消息。 我已经尝试将DbCommand对象的CommandTimeout设置为多个值,但我仍然收到以下错误。 SQL0666 – SQL查询超出指定的时间限制或存储限制。 是否有一个技巧来阻止错误输出。 这很奇怪,因为相同的查询有时会起作用,有时会超时。 任何帮助,将不胜感激。 谢谢!

如何在更改数据库后保存DataSet?

如果我有一个名为myDs的DataSet,我通过循环中的直接访问来编辑其中的字段,如下所示: for (int i = 0; i < myDS.Tables[TableName].Rows.Count; i++) { //some function or web method to get the id value of the record being updated int n = getNewNumber(); //updating the dataset record according to some condition if (n == 0) { myDS.Tables[TableName].Rows[i]["id"] = n; myDS.Tables[TableName].Rows[i]["description"] = "some data"; } else { myDS.Tables[TableName].Rows[i]["id"] = […]

OdbcConnection文本驱动程序忽略scheme.ini设置

这是我的代码: OdbcConnection conn = new OdbcConnection(“Driver={Microsoft Text Driver (*.txt; *.csv)};DSN=scrapped.csv”); conn.Open(); OdbcCommand foo = new OdbcCommand(@”SELECT * FROM [scrapped.csv] WHERE KWOTA < 100.00", conn); IDataReader dr = foo.ExecuteReader(); StreamWriter asd = new StreamWriter("outfile.txt"); while (dr.Read()) { int cols = dr.GetSchemaTable().Rows.Count; for (int i = 0; i < cols; i++) { asd.Write(string.Format("{0};",dr[i].ToString())); } asd.WriteLine(); } asd.Flush(); […]

检查系统DSN并创建系统DSN(如果不存在)(iSeries Access ODBC驱动程序)

有人可以帮我这个吗? 我需要通过系统DSN检查我与AS400服务器的ODBC连接,并创建一个系统DSN(如果某个特定的不存在)。 我试过谷歌搜索,但一直没能找到对我好的东西。 顺便说一下,我对编程很陌生。 任何帮助都感激不尽。 谢谢

数据库查询C#无法正常工作

我在网上读过很多关于C#的ODBC教程,而这段代码是唯一一个没有给我错误的代码。 但问题是,它什么都不做 – .-如何解决? using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using System.Data.Odbc; using System.Data.Sql; namespace WindowsFormsApplication1 { static class Program { /// /// The main entry point for the application. /// [STAThread] static void Main() { string connectionString = “Server=localhost;User ID=root;Password=****;Database=testing;Port=3306;Pooling=false”; MySql.Data.MySqlClient.MySqlConnection connection = new MySql.Data.MySqlClient.MySqlConnection(connectionString); connection.Open(); string insertQuery = “ALTER TABLE `user` […]

如何从ODBC连接获取可用表的列表?

在Excel中,我可以转到数据 – >导入外部数据 – >导入数据…然后选择要使用的数据源,然后在我提供登录信息后,它会给我一个表列表。 我想知道如何使用C#以编程方式获取该列表。

未找到数据源名称且未指定默认驱动程序

我被要求将使用MVP模式的WinForms应用程序移植到网页上。 除其他外,该应用程序将CSV文件上传到DataTable,然后执行一些操作。 CSV文件上传到服务器确定,然后使用以下代码读取 string connectionString = @”Driver={Microsoft Text Driver (*.txt; *.csv)};Extensions=asc,csv,tab,txt;Persist Security Info=False;Dbq=C:\Temp\”; //check that file exists and in correct format if (File.Exists(this.WorkingFileName)) { using (OdbcConnection connection = new OdbcConnection(connectionString)) { // Determine number of rows string selectCount = “select count(*) from [MyFile.csv]”); using (OdbcCommand command = new OdbcCommand(selectCount, connection)) { connection.Open(); } } } […]