You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP服务器(Laravel框架)中获取Tally Prime数据

在Laravel中获取Tally数据记录的解决方案

一、重新配置CData Connect Server的Tally虚拟数据库

  • 登录CData Connect Server后台,进入Connections页面,点击「Add Connection」选择Tally驱动
  • 配置Tally连接参数:
    • 填写Tally服务地址(默认http://localhost:9000)
    • 选择要访问的Tally公司数据文件
    • 点击「Test Connection」验证连接有效性,保存配置
  • 创建虚拟MySQL库:进入Databases页面,点击「Add Database」,关联刚才的Tally连接,设置数据库名(如tally_db),完成后记录生成的MySQL连接信息(主机、端口、账号、密码)

二、Laravel中配置Tally数据库连接

  1. 修改项目根目录的.env文件,添加Tally数据库环境变量:
DB_TALLY_HOST=CData服务主机地址
DB_TALLY_PORT=3306
DB_TALLY_DATABASE=tally_db
DB_TALLY_USERNAME=CData账号
DB_TALLY_PASSWORD=CData密码
  1. 编辑config/database.php,在connections数组中新增Tally连接配置:
'tally' => [
    'driver' => 'mysql',
    'host' => env('DB_TALLY_HOST'),
    'port' => env('DB_TALLY_PORT'),
    'database' => env('DB_TALLY_DATABASE'),
    'username' => env('DB_TALLY_USERNAME'),
    'password' => env('DB_TALLY_PASSWORD'),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
],

三、在Laravel中查询Tally数据

方式1:使用DB门面直接查询

use Illuminate\Support\Facades\DB;

public function fetchTallyRecords()
{
    // 替换为你需要查询的Tally表名
    $records = DB::connection('tally')->select('SELECT * FROM Ledgers');
    return response()->json($records);
}

方式2:使用Eloquent模型

创建对应模型并指定连接:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class TallyLedger extends Model
{
    protected $connection = 'tally';
    protected $table = 'Ledgers'; // 对应CData生成的虚拟表名
}

在控制器中调用:

$ledgers = TallyLedger::all();

四、常见问题排查

  • 确认CData Connect Server服务正常运行,且Laravel服务器能ping通CData主机
  • 检查.env中的连接参数是否与CData生成的信息完全一致
  • 验证Tally服务处于运行状态,CData连接的Tally地址/端口无错误
  • 检查CData用户权限,确保该账号能访问目标Tally连接和虚拟数据库

内容的提问来源于stack exchange,提问作者Pratiksha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:05:18